<!-- HTML header for doxygen 1.8.9.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>ROSS: core/network-mpi.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <a href="https://github.com/ROSS-org/ROSS">
   <div id="projectname">ROSS
   </div>
   </a>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_af18cf245e3394ab3b436135935cfd6e.html">core</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">network-mpi.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="ross_8h_source.html">ross.h</a>&gt;</code><br/>
<code>#include &lt;mpi.h&gt;</code><br/>
</div>
<p><a href="network-mpi_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structact__q.html">act_q</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Keeps track of posted send or recv operations.  <a href="structact__q.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a21f58374b1b9d28d08d7f4eabddbba82"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a21f58374b1b9d28d08d7f4eabddbba82">EVENT_TAG</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a21f58374b1b9d28d08d7f4eabddbba82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a389c807591f69a3806763bc9c089fa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a5a389c807591f69a3806763bc9c089fa">EVENT_SIZE</a>(e)&#160;&#160;&#160;<a class="el" href="ross-global_8c.html#a8cb2af58d38e8678188b3f66b4ae552c">g_tw_event_msg_sz</a></td></tr>
<tr class="separator:a5a389c807591f69a3806763bc9c089fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a90b2df9e7fdef6bca9bd7e3f7ff6a294"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a90b2df9e7fdef6bca9bd7e3f7ff6a294">recv_begin</a> (<a class="el" href="structtw__pe.html">tw_pe</a> *me)</td></tr>
<tr class="memdesc:a90b2df9e7fdef6bca9bd7e3f7ff6a294"><td class="mdescLeft">&#160;</td><td class="mdescRight">If there are any openings in the posted_recvs queue, post more Irecvs.  <a href="#a90b2df9e7fdef6bca9bd7e3f7ff6a294">More...</a><br/></td></tr>
<tr class="separator:a90b2df9e7fdef6bca9bd7e3f7ff6a294"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a149ffcda6e9840d885bfe970374a9f49"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a149ffcda6e9840d885bfe970374a9f49">recv_finish</a> (<a class="el" href="structtw__pe.html">tw_pe</a> *me, <a class="el" href="structtw__event.html">tw_event</a> *e, char *buffer)</td></tr>
<tr class="memdesc:a149ffcda6e9840d885bfe970374a9f49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines how to handle the newly received event.  <a href="#a149ffcda6e9840d885bfe970374a9f49">More...</a><br/></td></tr>
<tr class="separator:a149ffcda6e9840d885bfe970374a9f49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e1e1bd17bf05f66af5628d37dd9af9d"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a4e1e1bd17bf05f66af5628d37dd9af9d">send_begin</a> (<a class="el" href="structtw__pe.html">tw_pe</a> *me)</td></tr>
<tr class="memdesc:a4e1e1bd17bf05f66af5628d37dd9af9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">If there are any openings in the posted_sends queue, start sends for events in the outgoing queue.  <a href="#a4e1e1bd17bf05f66af5628d37dd9af9d">More...</a><br/></td></tr>
<tr class="separator:a4e1e1bd17bf05f66af5628d37dd9af9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08594cce713aee586b50774147ce63df"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a08594cce713aee586b50774147ce63df">send_finish</a> (<a class="el" href="structtw__pe.html">tw_pe</a> *me, <a class="el" href="structtw__event.html">tw_event</a> *e, char *buffer)</td></tr>
<tr class="memdesc:a08594cce713aee586b50774147ce63df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines how to handle the buffer of event whose send operation just finished.  <a href="#a08594cce713aee586b50774147ce63df">More...</a><br/></td></tr>
<tr class="separator:a08594cce713aee586b50774147ce63df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea8ec44102f611b89ed0ad9f4015cd97"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#aea8ec44102f611b89ed0ad9f4015cd97">tw_comm_set</a> (MPI_Comm comm)</td></tr>
<tr class="memdesc:aea8ec44102f611b89ed0ad9f4015cd97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the MPI_COMM_ROSS communicator to use instead of MPI_COMM_WORLD.  <a href="#aea8ec44102f611b89ed0ad9f4015cd97">More...</a><br/></td></tr>
<tr class="separator:aea8ec44102f611b89ed0ad9f4015cd97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3db61a41bb6a85964e22e5488038b02e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structtw__optdef.html">tw_optdef</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a3db61a41bb6a85964e22e5488038b02e">tw_net_init</a> (int *argc, char ***argv)</td></tr>
<tr class="memdesc:a3db61a41bb6a85964e22e5488038b02e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initalize the network library and parse options.  <a href="#a3db61a41bb6a85964e22e5488038b02e">More...</a><br/></td></tr>
<tr class="separator:a3db61a41bb6a85964e22e5488038b02e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b32fd67edec885cbb35137bd4547616"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a9b32fd67edec885cbb35137bd4547616">init_q</a> (struct <a class="el" href="structact__q.html">act_q</a> *q, const char *name, unsigned int size)</td></tr>
<tr class="memdesc:a9b32fd67edec885cbb35137bd4547616"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes queues used for posted sends and receives.  <a href="#a9b32fd67edec885cbb35137bd4547616">More...</a><br/></td></tr>
<tr class="separator:a9b32fd67edec885cbb35137bd4547616"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2818efb70df48e5e29d3dacb3e2de009"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a2818efb70df48e5e29d3dacb3e2de009">tw_nnodes</a> (void)</td></tr>
<tr class="separator:a2818efb70df48e5e29d3dacb3e2de009"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a625a50a6a03701b067693d7dc5ed483b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a625a50a6a03701b067693d7dc5ed483b">tw_net_start</a> (void)</td></tr>
<tr class="memdesc:a625a50a6a03701b067693d7dc5ed483b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the network library after option parsing.  <a href="#a625a50a6a03701b067693d7dc5ed483b">More...</a><br/></td></tr>
<tr class="separator:a625a50a6a03701b067693d7dc5ed483b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e139e8547a091c4c4ea0b445fe8dd1c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c">tw_net_abort</a> (void)</td></tr>
<tr class="separator:a2e139e8547a091c4c4ea0b445fe8dd1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a753856a718a9881f642523034260d3f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a753856a718a9881f642523034260d3f9">tw_net_stop</a> (void)</td></tr>
<tr class="memdesc:a753856a718a9881f642523034260d3f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops the network library after simulation end.  <a href="#a753856a718a9881f642523034260d3f9">More...</a><br/></td></tr>
<tr class="separator:a753856a718a9881f642523034260d3f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2d1779a485bde77b7b62876a9ff6e25"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#ad2d1779a485bde77b7b62876a9ff6e25">tw_net_barrier</a> (void)</td></tr>
<tr class="separator:ad2d1779a485bde77b7b62876a9ff6e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad791cc8b066ed3cb37912b131b06b00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ross_8h.html#a80b370bc538e17441aef6afaff852678">tw_stime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#aad791cc8b066ed3cb37912b131b06b00">tw_net_minimum</a> (void)</td></tr>
<tr class="memdesc:aad791cc8b066ed3cb37912b131b06b00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtain the lowest timestamp inside the network buffers.  <a href="#aad791cc8b066ed3cb37912b131b06b00">More...</a><br/></td></tr>
<tr class="separator:aad791cc8b066ed3cb37912b131b06b00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a991bb1d1d24fbb8695947451f3f765"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a3a991bb1d1d24fbb8695947451f3f765">test_q</a> (struct <a class="el" href="structact__q.html">act_q</a> *q, <a class="el" href="structtw__pe.html">tw_pe</a> *me, void(*finish)(<a class="el" href="structtw__pe.html">tw_pe</a> *, <a class="el" href="structtw__event.html">tw_event</a> *, char *))</td></tr>
<tr class="memdesc:a3a991bb1d1d24fbb8695947451f3f765"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls MPI_Testsome on the provided queue, to check for finished operations.  <a href="#a3a991bb1d1d24fbb8695947451f3f765">More...</a><br/></td></tr>
<tr class="separator:a3a991bb1d1d24fbb8695947451f3f765"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8705ab243733bb856d58534e0e853da3"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a8705ab243733bb856d58534e0e853da3">service_queues</a> (<a class="el" href="structtw__pe.html">tw_pe</a> *me)</td></tr>
<tr class="memdesc:a8705ab243733bb856d58534e0e853da3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start checks for finished operations in send/recv queues, and post new sends/recvs if possible.  <a href="#a8705ab243733bb856d58534e0e853da3">More...</a><br/></td></tr>
<tr class="separator:a8705ab243733bb856d58534e0e853da3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27a1957e366f9b52848477702234fc08"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a27a1957e366f9b52848477702234fc08">tw_net_read</a> (<a class="el" href="structtw__pe.html">tw_pe</a> *me)</td></tr>
<tr class="memdesc:a27a1957e366f9b52848477702234fc08"><td class="mdescLeft">&#160;</td><td class="mdescRight">starts <a class="el" href="network-mpi_8c.html#a8705ab243733bb856d58534e0e853da3" title="Start checks for finished operations in send/recv queues, and post new sends/recvs if possible...">service_queues()</a> to poll network  <a href="#a27a1957e366f9b52848477702234fc08">More...</a><br/></td></tr>
<tr class="separator:a27a1957e366f9b52848477702234fc08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1e0e20e3cba954c23932ed9a55d6dc6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#ac1e0e20e3cba954c23932ed9a55d6dc6">tw_net_send</a> (<a class="el" href="structtw__event.html">tw_event</a> *e)</td></tr>
<tr class="memdesc:ac1e0e20e3cba954c23932ed9a55d6dc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the event to the outgoing queue of events to be sent, polls for finished sends, and attempts to start sends from outq.  <a href="#ac1e0e20e3cba954c23932ed9a55d6dc6">More...</a><br/></td></tr>
<tr class="separator:ac1e0e20e3cba954c23932ed9a55d6dc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7032d3d1b4b869e4f1669248c7cf6447"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a7032d3d1b4b869e4f1669248c7cf6447">tw_net_cancel</a> (<a class="el" href="structtw__event.html">tw_event</a> *e)</td></tr>
<tr class="memdesc:a7032d3d1b4b869e4f1669248c7cf6447"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancel the given remote event by either removing from the outq or sending an antimessage, depending on the status of the original positive send.  <a href="#a7032d3d1b4b869e4f1669248c7cf6447">More...</a><br/></td></tr>
<tr class="separator:a7032d3d1b4b869e4f1669248c7cf6447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbcd0d5ea79ad57229162f703309142d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtw__statistics.html">tw_statistics</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#abbcd0d5ea79ad57229162f703309142d">tw_net_statistics</a> (<a class="el" href="structtw__pe.html">tw_pe</a> *me, <a class="el" href="structtw__statistics.html">tw_statistics</a> *s)</td></tr>
<tr class="memdesc:abbcd0d5ea79ad57229162f703309142d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to output the statistics.  <a href="#abbcd0d5ea79ad57229162f703309142d">More...</a><br/></td></tr>
<tr class="separator:abbcd0d5ea79ad57229162f703309142d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:af1faeba2bc478835b35af43287f19ba7"><td class="memItemLeft" align="right" valign="top">MPI_Comm&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#af1faeba2bc478835b35af43287f19ba7">MPI_COMM_ROSS</a> = MPI_COMM_WORLD</td></tr>
<tr class="separator:af1faeba2bc478835b35af43287f19ba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29575d90e2b406bc91b03b3853c77dc1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a29575d90e2b406bc91b03b3853c77dc1">custom_communicator</a> = 0</td></tr>
<tr class="separator:a29575d90e2b406bc91b03b3853c77dc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a890bf6aa5e4a2592e7980b7109ff94fc"><td class="memItemLeft" align="right" valign="top">static struct <a class="el" href="structact__q.html">act_q</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a890bf6aa5e4a2592e7980b7109ff94fc">posted_sends</a></td></tr>
<tr class="separator:a890bf6aa5e4a2592e7980b7109ff94fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2401516883d34c1eb1a22de94da94724"><td class="memItemLeft" align="right" valign="top">static struct <a class="el" href="structact__q.html">act_q</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a2401516883d34c1eb1a22de94da94724">posted_recvs</a></td></tr>
<tr class="separator:a2401516883d34c1eb1a22de94da94724"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5267efaec2ae6f7ecae78419aa0685e"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structtw__eventq.html">tw_eventq</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#aa5267efaec2ae6f7ecae78419aa0685e">outq</a></td></tr>
<tr class="separator:aa5267efaec2ae6f7ecae78419aa0685e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ecd52e7fd90bbbcee7bd64df018073f"><td class="memItemLeft" align="right" valign="top">static unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#a7ecd52e7fd90bbbcee7bd64df018073f">read_buffer</a> = 16</td></tr>
<tr class="separator:a7ecd52e7fd90bbbcee7bd64df018073f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf9f9bebe685a2f4933a4d9d0a164f65"><td class="memItemLeft" align="right" valign="top">static unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#aaf9f9bebe685a2f4933a4d9d0a164f65">send_buffer</a> = 1024</td></tr>
<tr class="separator:aaf9f9bebe685a2f4933a4d9d0a164f65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8411355a7d80016be6edcce3437b978"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#ab8411355a7d80016be6edcce3437b978">world_size</a> = 1</td></tr>
<tr class="separator:ab8411355a7d80016be6edcce3437b978"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac65f4401b7c7a792dc3fdbcae30a2c1c"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="structtw__optdef.html">tw_optdef</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="network-mpi_8c.html#ac65f4401b7c7a792dc3fdbcae30a2c1c">mpi_opts</a> []</td></tr>
<tr class="separator:ac65f4401b7c7a792dc3fdbcae30a2c1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a5a389c807591f69a3806763bc9c089fa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EVENT_SIZE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">e</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="ross-global_8c.html#a8cb2af58d38e8678188b3f66b4ae552c">g_tw_event_msg_sz</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00029">29</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00284">recv_begin()</a>, and <a class="el" href="network-mpi_8c_source.html#l00440">send_begin()</a>.</p>

</div>
</div>
<a class="anchor" id="a21f58374b1b9d28d08d7f4eabddbba82"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EVENT_TAG&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00027">27</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00284">recv_begin()</a>, and <a class="el" href="network-mpi_8c_source.html#l00440">send_begin()</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a9b32fd67edec885cbb35137bd4547616"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void init_q </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structact__q.html">act_q</a> *&#160;</td>
          <td class="paramname"><em>q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">q</td><td>pointer to the queue to be initialized </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>name of the queue </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00093">93</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="network-mpi_8c_source.html#l00020">act_q::event_list</a>, <a class="el" href="network-mpi_8c_source.html#l00022">act_q::idx_list</a>, <a class="el" href="network-mpi_8c_source.html#l00018">act_q::name</a>, <a class="el" href="network-mpi_8c_source.html#l00021">act_q::req_list</a>, <a class="el" href="network-mpi_8c_source.html#l00023">act_q::status_list</a>, <a class="el" href="tw-util_8c_source.html#l00203">tw_calloc()</a>, and <a class="el" href="ross-extern_8h_source.html#l00164">TW_LOC</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00109">tw_net_start()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a9b32fd67edec885cbb35137bd4547616_cgraph.png" border="0" usemap="#network-mpi_8c_a9b32fd67edec885cbb35137bd4547616_cgraph" alt=""/></div>
<map name="network-mpi_8c_a9b32fd67edec885cbb35137bd4547616_cgraph" id="network-mpi_8c_a9b32fd67edec885cbb35137bd4547616_cgraph">
<area shape="rect" id="node2" href="ross-extern_8h.html#a445b1ed30cd2e8ef1f837e782a339a70" title="tw_calloc" alt="" coords="107,31,184,57"/><area shape="rect" id="node3" href="tw-util_8c.html#a57c62eebb6371a6d0d5ea5043f12f91b" title="pool_alloc" alt="" coords="232,5,312,32"/><area shape="rect" id="node5" href="tw-util_8c.html#a653cb2b88ee27b886ba5c854d5a0ba5c" title="tw_error" alt="" coords="237,56,307,83"/><area shape="rect" id="node4" href="tw-util_8c.html#a0611e23c33bb8c31272e79d876b8bcb0" title="my_malloc" alt="" coords="367,5,452,32"/><area shape="rect" id="node6" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="361,56,458,83"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a9b32fd67edec885cbb35137bd4547616_icgraph.png" border="0" usemap="#network-mpi_8c_a9b32fd67edec885cbb35137bd4547616_icgraph" alt=""/></div>
<map name="network-mpi_8c_a9b32fd67edec885cbb35137bd4547616_icgraph" id="network-mpi_8c_a9b32fd67edec885cbb35137bd4547616_icgraph">
<area shape="rect" id="node2" href="network-mpi_8h.html#a625a50a6a03701b067693d7dc5ed483b" title="Starts the network library after option parsing. " alt="" coords="107,5,202,32"/><area shape="rect" id="node3" href="tw-setup_8c.html#a7d395f5590701f5526a161fcb1261b03" title="tw_init" alt="" coords="251,5,311,32"/><area shape="rect" id="node4" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="360,5,411,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a90b2df9e7fdef6bca9bd7e3f7ff6a294"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int recv_begin </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structtw__pe.html">tw_pe</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">me</td><td>pointer to the PE </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if no changes are made to the queue, 1 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00284">284</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="network-mpi_8c_source.html#l00024">act_q::cur</a>, <a class="el" href="network-mpi_8c_source.html#l00020">act_q::event_list</a>, <a class="el" href="network-mpi_8c_source.html#l00029">EVENT_SIZE</a>, <a class="el" href="network-mpi_8c_source.html#l00027">EVENT_TAG</a>, <a class="el" href="network-mpi_8c_source.html#l00004">MPI_COMM_ROSS</a>, <a class="el" href="network-mpi_8c_source.html#l00032">posted_recvs</a>, <a class="el" href="network-mpi_8c_source.html#l00035">read_buffer</a>, <a class="el" href="network-mpi_8c_source.html#l00021">act_q::req_list</a>, <a class="el" href="tw-util_8c_source.html#l00074">tw_error()</a>, <a class="el" href="ross-extern_8h.html#a5215643013906a13f0e2febadd0b0473">tw_event_free()</a>, <a class="el" href="ross-inline_8h_source.html#l00005">tw_event_grab()</a>, <a class="el" href="mpi__allreduce_8h_source.html#l00008">tw_gvt_inprogress()</a>, and <a class="el" href="ross-extern_8h_source.html#l00164">TW_LOC</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00554">service_queues()</a>, and <a class="el" href="network-mpi_8c_source.html#l00109">tw_net_start()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a90b2df9e7fdef6bca9bd7e3f7ff6a294_cgraph.png" border="0" usemap="#network-mpi_8c_a90b2df9e7fdef6bca9bd7e3f7ff6a294_cgraph" alt=""/></div>
<map name="network-mpi_8c_a90b2df9e7fdef6bca9bd7e3f7ff6a294_cgraph" id="network-mpi_8c_a90b2df9e7fdef6bca9bd7e3f7ff6a294_cgraph">
<area shape="rect" id="node2" href="ross-extern_8h.html#a49ed2388aaae26e43280b7909c834aaa" title="tw_error" alt="" coords="648,30,717,56"/><area shape="rect" id="node4" href="ross-extern_8h.html#a5215643013906a13f0e2febadd0b0473" title="tw_event_free" alt="" coords="151,42,255,68"/><area shape="rect" id="node5" href="ross-inline_8h.html#a91ee3bf5565bdad184cf16590b6b3198" title="tw_event_grab" alt="" coords="149,92,256,119"/><area shape="rect" id="node8" href="mpi__allreduce_8h.html#a7a58c92b0e80a7be5f3a741f75df71f8" title="tw_gvt_inprogress" alt="" coords="139,143,267,170"/><area shape="rect" id="node3" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="766,30,863,56"/><area shape="rect" id="node6" href="tw-eventq_8h.html#aa40bc1edebb9f58d87092388cf8dc0df" title="tw_eventq_pop" alt="" coords="315,79,426,106"/><area shape="rect" id="node7" href="tw-eventq_8h.html#a38f6e76712a4c5a6714aafa5ce69c2ca" title="tw_eventq_debug" alt="" coords="475,67,599,94"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a90b2df9e7fdef6bca9bd7e3f7ff6a294_icgraph.png" border="0" usemap="#network-mpi_8c_a90b2df9e7fdef6bca9bd7e3f7ff6a294_icgraph" alt=""/></div>
<map name="network-mpi_8c_a90b2df9e7fdef6bca9bd7e3f7ff6a294_icgraph" id="network-mpi_8c_a90b2df9e7fdef6bca9bd7e3f7ff6a294_icgraph">
<area shape="rect" id="node2" href="network-mpi_8c.html#a8705ab243733bb856d58534e0e853da3" title="Start checks for finished operations in send/recv queues, and post new sends/recvs if possible..." alt="" coords="139,335,253,361"/><area shape="rect" id="node21" href="network-mpi_8h.html#a625a50a6a03701b067693d7dc5ed483b" title="Starts the network library after option parsing. " alt="" coords="307,411,402,437"/><area shape="rect" id="node3" href="network-mpi_8h.html#a29c8b71c5bbcfa0c7a30fc31769be05e" title="starts service_queues() to poll network " alt="" coords="817,335,911,361"/><area shape="rect" id="node11" href="network-mpi_8h.html#a0f32f17f307a059cd2464da4039729fb" title="Cancel the given remote event by either removing from the outq or sending an antimessage, depending on the status of the original positive send. " alt="" coords="301,252,408,279"/><area shape="rect" id="node4" href="ross-gvt_8h.html#a0d905b32b2567dd637c4926872622a70" title="tw_gvt_step2" alt="" coords="1017,284,1117,311"/><area shape="rect" id="node5" href="tw-sched_8c.html#ab3e02a0e976921bd18a11b8b6a00c110" title="tw_scheduler_conservative" alt="" coords="1185,284,1365,311"/><area shape="rect" id="node8" href="tw-sched_8c.html#a1ebf9585a3de4d61c5fc050c7600fcd8" title="tw_scheduler_optimistic" alt="" coords="1193,233,1356,260"/><area shape="rect" id="node9" href="tw-sched_8c.html#accfa49d85bd68f2c53d4a08cf64ace88" title="tw_scheduler_optimistic\l_realtime" alt="" coords="1193,147,1356,189"/><area shape="rect" id="node10" href="tw-sched_8c.html#ae7357a99fcf58867f153cb7ab920b400" title="tw_sched_init" alt="" coords="1223,385,1326,412"/><area shape="rect" id="node6" href="tw-setup_8c.html#a6dbc4bba03285bb1b8a8a5464f0375ea" title="tw_run" alt="" coords="1413,259,1475,285"/><area shape="rect" id="node7" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="1523,373,1573,400"/><area shape="rect" id="node12" href="tw-event_8c.html#ace65c26a8d368f9b222d3d4416bff0af" title="event_cancel" alt="" coords="456,189,555,216"/><area shape="rect" id="node13" href="tw-event_8c.html#ad90c1310a5aeee6d9bff67237f3e9913" title="tw_event_rollback" alt="" coords="603,151,730,177"/><area shape="rect" id="node14" href="tw-kp_8c.html#a5b88c07fbc4f7810bdc676306013b513" title="tw_kp_rollback_to" alt="" coords="801,151,927,177"/><area shape="rect" id="node17" href="tw-kp_8c.html#a64819ac4aba17987e01bb13142e78c86" title="tw_kp_rollback_event" alt="" coords="790,88,938,115"/><area shape="rect" id="node19" href="tw-sched_8c.html#ad27b3474d878cedfe1a1f993093d8715" title="tw_sched_batch" alt="" coords="1008,233,1125,260"/><area shape="rect" id="node20" href="tw-sched_8c.html#a1586b72acaa34a4ef8cc6aadabe9711e" title="tw_sched_batch_realtime" alt="" coords="779,5,949,32"/><area shape="rect" id="node15" href="tw-sched_8c.html#a0bb0520414480154343b267735636433" title="tw_sched_event_q" alt="" coords="1001,183,1132,209"/><area shape="rect" id="node16" href="tw-sched_8c.html#ad49988d8dcde406fac7f4a2e11eac17f" title="tw_scheduler_optimistic\l_debug" alt="" coords="1193,43,1356,85"/><area shape="rect" id="node18" href="tw-sched_8c.html#abe0eb975865f0cde7f2c2e3129bd18d7" title="tw_sched_cancel_q" alt="" coords="998,81,1135,108"/><area shape="rect" id="node22" href="tw-setup_8c.html#a7d395f5590701f5526a161fcb1261b03" title="tw_init" alt="" coords="475,436,535,463"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a149ffcda6e9840d885bfe970374a9f49"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void recv_finish </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structtw__pe.html">tw_pe</a> *&#160;</td>
          <td class="paramname"><em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structtw__event.html">tw_event</a> *&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">me</td><td>pointer to PE </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">e</td><td>pointer to event that we just received </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>not currently used </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00329">329</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="ross-types_8h_source.html#l00260">tw_event::cancel_next</a>, <a class="el" href="ross-types_8h_source.html#l00269">tw_event::cancel_q</a>, <a class="el" href="ross-types_8h_source.html#l00380">tw_pe::cancel_q</a>, <a class="el" href="ross-types_8h_source.html#l00262">tw_event::cause_next</a>, <a class="el" href="ross-types_8h_source.html#l00261">tw_event::caused_by_me</a>, <a class="el" href="ross-types_8h_source.html#l00280">tw_event::dest_lp</a>, <a class="el" href="ross-types_8h_source.html#l00379">tw_pe::event_q</a>, <a class="el" href="ross-global_8c_source.html#l00018">g_tw_synchronization_protocol</a>, <a class="el" href="ross-types_8h_source.html#l00403">tw_pe::GVT</a>, <a class="el" href="ross-types_8h_source.html#l00418">tw_pe::hash_t</a>, <a class="el" href="ross-types_8h_source.html#l00376">tw_pe::id</a>, <a class="el" href="ross-types_8h_source.html#l00313">tw_lp::kp</a>, <a class="el" href="ross-types_8h_source.html#l00366">tw_kp::kp_stats</a>, <a class="el" href="ross-types_8h_source.html#l00360">tw_kp::last_time</a>, <a class="el" href="ross-types_8h_source.html#l00323">tw_lp::lp_stats</a>, <a class="el" href="ross-types_8h_source.html#l00030">OPTIMISTIC</a>, <a class="el" href="ross-types_8h_source.html#l00031">OPTIMISTIC_DEBUG</a>, <a class="el" href="ross-types_8h_source.html#l00032">OPTIMISTIC_REALTIME</a>, <a class="el" href="ross-types_8h_source.html#l00268">tw_event::owner</a>, <a class="el" href="ross-types_8h_source.html#l00308">tw_lp::pe</a>, <a class="el" href="ross-types_8h_source.html#l00381">tw_pe::pq</a>, <a class="el" href="ross-types_8h_source.html#l00282">tw_event::recv_ts</a>, <a class="el" href="ross-types_8h_source.html#l00271">tw_event::remote</a>, <a class="el" href="ross-types_8h_source.html#l00122">tw_statistics::s_nread_network</a>, <a class="el" href="st-instrumentation_8h_source.html#l00145">st_kp_stats::s_nread_network</a>, <a class="el" href="st-instrumentation_8h_source.html#l00159">st_lp_stats::s_nread_network</a>, <a class="el" href="ross-types_8h_source.html#l00409">tw_pe::s_nwhite_recv</a>, <a class="el" href="ross-types_8h_source.html#l00143">tw_statistics::s_pq</a>, <a class="el" href="ross-types_8h_source.html#l00284">tw_event::send_pe</a>, <a class="el" href="structtw__event.html#aaccf9aa1154e261f109c6add9abb487b">tw_event::state</a>, <a class="el" href="ross-types_8h_source.html#l00415">tw_pe::stats</a>, <a class="el" href="ross-types_8h_source.html#l00402">tw_pe::trans_msg_ts</a>, <a class="el" href="aarch64_8h_source.html#l00006">tw_clock_read()</a>, <a class="el" href="tw-util_8c_source.html#l00074">tw_error()</a>, <a class="el" href="ross-extern_8h.html#a5215643013906a13f0e2febadd0b0473">tw_event_free()</a>, <a class="el" href="tw-eventq_8h_source.html#l00257">tw_eventq_push()</a>, <a class="el" href="ross-kernel-inline_8h_source.html#l00009">tw_getlocal_lp()</a>, <a class="el" href="mpi__allreduce_8h_source.html#l00008">tw_gvt_inprogress()</a>, <a class="el" href="hash-quadratic_8c_source.html#l00080">tw_hash_insert()</a>, <a class="el" href="hash-quadratic_8c_source.html#l00206">tw_hash_remove()</a>, <a class="el" href="ross-extern_8h_source.html#l00164">TW_LOC</a>, <a class="el" href="network-mpi_8c_source.html#l00103">tw_nnodes()</a>, <a class="el" href="ross-types_8h_source.html#l00214">TW_pe_event_q</a>, <a class="el" href="splay_8c_source.html#l00195">tw_pq_enqueue()</a>, and <a class="el" href="ross_8h_source.html#l00154">TW_STIME_CMP</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00554">service_queues()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a149ffcda6e9840d885bfe970374a9f49_cgraph.png" border="0" usemap="#network-mpi_8c_a149ffcda6e9840d885bfe970374a9f49_cgraph" alt=""/></div>
<map name="network-mpi_8c_a149ffcda6e9840d885bfe970374a9f49_cgraph" id="network-mpi_8c_a149ffcda6e9840d885bfe970374a9f49_cgraph">
<area shape="rect" id="node2" href="aarch64_8h.html#a450cf25fa5291629087ca4198de55757" title="tw_clock_read" alt="" coords="320,140,427,167"/><area shape="rect" id="node3" href="ross-extern_8h.html#a49ed2388aaae26e43280b7909c834aaa" title="tw_error" alt="" coords="723,443,792,469"/><area shape="rect" id="node5" href="ross-extern_8h.html#a5215643013906a13f0e2febadd0b0473" title="tw_event_free" alt="" coords="151,265,255,292"/><area shape="rect" id="node6" href="tw-eventq_8h.html#a5c324b9c5a53c17e78709fa7eaaa7a1f" title="tw_eventq_push" alt="" coords="315,671,432,697"/><area shape="rect" id="node8" href="ross-kernel-inline_8h.html#a3e5591d29e9db9c6a1a1cc19ed55feec" title="tw_getlocal_lp" alt="" coords="150,417,255,444"/><area shape="rect" id="node9" href="network-mpi_8c.html#a2818efb70df48e5e29d3dacb3e2de009" title="tw_nnodes" alt="" coords="331,417,416,444"/><area shape="rect" id="node10" href="mpi__allreduce_8h.html#a7a58c92b0e80a7be5f3a741f75df71f8" title="tw_gvt_inprogress" alt="" coords="139,468,267,495"/><area shape="rect" id="node11" href="hash-quadratic_8c.html#a4e8a48f209c2574ac4755605ac42f773" title="tw_hash_insert" alt="" coords="147,215,258,241"/><area shape="rect" id="node19" href="hash-quadratic_8c.html#af2da87c210aeb3433d50ee3bcb139e20" title="tw_hash_remove" alt="" coords="142,316,263,343"/><area shape="rect" id="node23" href="splay_8c.html#a60a6784c1d092ff7ddf96cf6762d7b9e" title="tw_pq_enqueue" alt="" coords="146,569,259,596"/><area shape="rect" id="node4" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="857,443,954,469"/><area shape="rect" id="node7" href="tw-eventq_8h.html#a38f6e76712a4c5a6714aafa5ce69c2ca" title="tw_eventq_debug" alt="" coords="507,645,631,672"/><area shape="rect" id="node12" href="avl__tree_8c.html#a8bb2b5a6430ff1464d6065e5cd136a43" title="avlInsert" alt="" coords="337,289,409,316"/><area shape="rect" id="node13" href="avl__tree_8c.html#aa54b2f5f340b60161c61d5c169ee8784" title="avl_alloc" alt="" coords="533,316,606,343"/><area shape="rect" id="node14" href="avl__tree_8c.html#a50f7204680050d273c446d51007858bc" title="avlRebalance" alt="" coords="707,39,808,65"/><area shape="rect" id="node18" href="ross-extern_8h.html#a9fdd5173071664ba458fbd0d2419713e" title="tw_printf" alt="" coords="533,265,605,292"/><area shape="rect" id="node15" href="avl__tree_8c.html#a8a3b9d830a7e822d2246e76c8af213c6" title="avlFixHeight" alt="" coords="1003,39,1098,65"/><area shape="rect" id="node16" href="avl__tree_8c.html#ad240d5f5dbe910d958769e3778b7215a" title="avlGetHeight" alt="" coords="1147,13,1245,40"/><area shape="rect" id="node17" href="avl__tree_8c.html#afffb84bcced3f51c3a1c8932ae360983" title="avlRotate" alt="" coords="866,39,945,65"/><area shape="rect" id="node20" href="avl__tree_8c.html#a0bf2fa317ba41b17cf40a029d0121eae" title="avlDelete" alt="" coords="335,215,412,241"/><area shape="rect" id="node21" href="avl__tree_8c.html#acf331e186c8087aff88ee1f8348a3e25" title="avl_free" alt="" coords="723,139,791,165"/><area shape="rect" id="node22" href="avl__tree_8c.html#a6a4f850cb0ae353f688d2f9953a93d5f" title="avlDeleteMin" alt="" coords="520,113,619,140"/><area shape="rect" id="node24" href="splay_8c.html#abe4300522e9cd5f9a0ee5b4aefee026c" title="tw_pq_compare_less_than" alt="" coords="481,569,658,596"/><area shape="rect" id="node25" href="splay_8c.html#a78410f728e5484187a8f69d74660e2e3" title="splay" alt="" coords="347,620,400,647"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a149ffcda6e9840d885bfe970374a9f49_icgraph.png" border="0" usemap="#network-mpi_8c_a149ffcda6e9840d885bfe970374a9f49_icgraph" alt=""/></div>
<map name="network-mpi_8c_a149ffcda6e9840d885bfe970374a9f49_icgraph" id="network-mpi_8c_a149ffcda6e9840d885bfe970374a9f49_icgraph">
<area shape="rect" id="node2" href="network-mpi_8c.html#a8705ab243733bb856d58534e0e853da3" title="Start checks for finished operations in send/recv queues, and post new sends/recvs if possible..." alt="" coords="139,177,253,204"/><area shape="rect" id="node3" href="network-mpi_8h.html#a29c8b71c5bbcfa0c7a30fc31769be05e" title="starts service_queues() to poll network " alt="" coords="817,107,911,133"/><area shape="rect" id="node11" href="network-mpi_8h.html#a0f32f17f307a059cd2464da4039729fb" title="Cancel the given remote event by either removing from the outq or sending an antimessage, depending on the status of the original positive send. " alt="" coords="301,224,408,251"/><area shape="rect" id="node4" href="ross-gvt_8h.html#a0d905b32b2567dd637c4926872622a70" title="tw_gvt_step2" alt="" coords="1017,81,1117,108"/><area shape="rect" id="node5" href="tw-sched_8c.html#ab3e02a0e976921bd18a11b8b6a00c110" title="tw_scheduler_conservative" alt="" coords="1185,107,1365,133"/><area shape="rect" id="node8" href="tw-sched_8c.html#a1ebf9585a3de4d61c5fc050c7600fcd8" title="tw_scheduler_optimistic" alt="" coords="1193,183,1356,209"/><area shape="rect" id="node9" href="tw-sched_8c.html#accfa49d85bd68f2c53d4a08cf64ace88" title="tw_scheduler_optimistic\l_realtime" alt="" coords="1193,255,1356,297"/><area shape="rect" id="node10" href="tw-sched_8c.html#ae7357a99fcf58867f153cb7ab920b400" title="tw_sched_init" alt="" coords="1223,5,1326,32"/><area shape="rect" id="node6" href="tw-setup_8c.html#a6dbc4bba03285bb1b8a8a5464f0375ea" title="tw_run" alt="" coords="1413,183,1475,209"/><area shape="rect" id="node7" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="1523,183,1573,209"/><area shape="rect" id="node12" href="tw-event_8c.html#ace65c26a8d368f9b222d3d4416bff0af" title="event_cancel" alt="" coords="456,268,555,295"/><area shape="rect" id="node13" href="tw-event_8c.html#ad90c1310a5aeee6d9bff67237f3e9913" title="tw_event_rollback" alt="" coords="603,312,730,339"/><area shape="rect" id="node14" href="tw-kp_8c.html#a5b88c07fbc4f7810bdc676306013b513" title="tw_kp_rollback_to" alt="" coords="801,413,927,440"/><area shape="rect" id="node17" href="tw-kp_8c.html#a64819ac4aba17987e01bb13142e78c86" title="tw_kp_rollback_event" alt="" coords="790,312,938,339"/><area shape="rect" id="node19" href="tw-sched_8c.html#ad27b3474d878cedfe1a1f993093d8715" title="tw_sched_batch" alt="" coords="1008,183,1125,209"/><area shape="rect" id="node20" href="tw-sched_8c.html#a1586b72acaa34a4ef8cc6aadabe9711e" title="tw_sched_batch_realtime" alt="" coords="779,363,949,389"/><area shape="rect" id="node15" href="tw-sched_8c.html#a0bb0520414480154343b267735636433" title="tw_sched_event_q" alt="" coords="1001,233,1132,260"/><area shape="rect" id="node16" href="tw-sched_8c.html#ad49988d8dcde406fac7f4a2e11eac17f" title="tw_scheduler_optimistic\l_debug" alt="" coords="1193,363,1356,405"/><area shape="rect" id="node18" href="tw-sched_8c.html#abe0eb975865f0cde7f2c2e3129bd18d7" title="tw_sched_cancel_q" alt="" coords="998,335,1135,361"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a4e1e1bd17bf05f66af5628d37dd9af9d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int send_begin </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structtw__pe.html">tw_pe</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">me</td><td>pointer to the PE </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if no changes are made to the posted_sends queue, 1 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00440">440</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="ross-types_8h_source.html#l00384">tw_pe::abort_event</a>, <a class="el" href="ross-types_8h_source.html#l00269">tw_event::cancel_q</a>, <a class="el" href="network-mpi_8c_source.html#l00024">act_q::cur</a>, <a class="el" href="ross-types_8h_source.html#l00280">tw_event::dest_lp</a>, <a class="el" href="network-mpi_8c_source.html#l00020">act_q::event_list</a>, <a class="el" href="network-mpi_8c_source.html#l00029">EVENT_SIZE</a>, <a class="el" href="network-mpi_8c_source.html#l00027">EVENT_TAG</a>, <a class="el" href="ross-global_8c_source.html#l00088">g_tw_mynode</a>, <a class="el" href="ross-types_8h_source.html#l00306">tw_lp::gid</a>, <a class="el" href="ross-types_8h_source.html#l00094">tw_lptype::map</a>, <a class="el" href="network-mpi_8c_source.html#l00004">MPI_COMM_ROSS</a>, <a class="el" href="ross-types_8h_source.html#l00268">tw_event::owner</a>, <a class="el" href="network-mpi_8c_source.html#l00031">posted_sends</a>, <a class="el" href="network-mpi_8c_source.html#l00021">act_q::req_list</a>, <a class="el" href="ross-types_8h_source.html#l00408">tw_pe::s_nwhite_sent</a>, <a class="el" href="network-mpi_8c_source.html#l00036">send_buffer</a>, <a class="el" href="ross-types_8h_source.html#l00285">tw_event::send_lp</a>, <a class="el" href="ross-types_8h_source.html#l00284">tw_event::send_pe</a>, <a class="el" href="ross-types_8h_source.html#l00281">tw_event::src_lp</a>, <a class="el" href="structtw__event.html#aaccf9aa1154e261f109c6add9abb487b">tw_event::state</a>, <a class="el" href="tw-util_8c_source.html#l00074">tw_error()</a>, <a class="el" href="tw-eventq_8h_source.html#l00280">tw_eventq_peek()</a>, <a class="el" href="tw-eventq_8h_source.html#l00289">tw_eventq_pop()</a>, <a class="el" href="ross-extern_8h_source.html#l00164">TW_LOC</a>, <a class="el" href="ross-types_8h_source.html#l00220">TW_net_acancel</a>, <a class="el" href="ross-types_8h_source.html#l00219">TW_net_asend</a>, and <a class="el" href="ross-types_8h_source.html#l00316">tw_lp::type</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00554">service_queues()</a>, and <a class="el" href="network-mpi_8c_source.html#l00578">tw_net_send()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a4e1e1bd17bf05f66af5628d37dd9af9d_cgraph.png" border="0" usemap="#network-mpi_8c_a4e1e1bd17bf05f66af5628d37dd9af9d_cgraph" alt=""/></div>
<map name="network-mpi_8c_a4e1e1bd17bf05f66af5628d37dd9af9d_cgraph" id="network-mpi_8c_a4e1e1bd17bf05f66af5628d37dd9af9d_cgraph">
<area shape="rect" id="node2" href="ross-extern_8h.html#a49ed2388aaae26e43280b7909c834aaa" title="tw_error" alt="" coords="480,13,549,40"/><area shape="rect" id="node4" href="tw-eventq_8h.html#ab24e28ddbfec88a67c6c4be13be13d60" title="tw_eventq_peek" alt="" coords="141,25,259,52"/><area shape="rect" id="node5" href="tw-eventq_8h.html#aa40bc1edebb9f58d87092388cf8dc0df" title="tw_eventq_pop" alt="" coords="145,76,255,102"/><area shape="rect" id="node3" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="598,13,695,40"/><area shape="rect" id="node6" href="tw-eventq_8h.html#a38f6e76712a4c5a6714aafa5ce69c2ca" title="tw_eventq_debug" alt="" coords="307,50,431,77"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a4e1e1bd17bf05f66af5628d37dd9af9d_icgraph.png" border="0" usemap="#network-mpi_8c_a4e1e1bd17bf05f66af5628d37dd9af9d_icgraph" alt=""/></div>
<map name="network-mpi_8c_a4e1e1bd17bf05f66af5628d37dd9af9d_icgraph" id="network-mpi_8c_a4e1e1bd17bf05f66af5628d37dd9af9d_icgraph">
<area shape="rect" id="node2" href="network-mpi_8c.html#a8705ab243733bb856d58534e0e853da3" title="Start checks for finished operations in send/recv queues, and post new sends/recvs if possible..." alt="" coords="142,360,255,387"/><area shape="rect" id="node21" href="network-mpi_8h.html#a6392a492117a07ef4a834aff3e36ec33" title="Adds the event to the outgoing queue of events to be sent, polls for finished sends, and attempts to start sends from outq. " alt="" coords="151,487,247,513"/><area shape="rect" id="node3" href="network-mpi_8h.html#a29c8b71c5bbcfa0c7a30fc31769be05e" title="starts service_queues() to poll network " alt="" coords="817,360,911,387"/><area shape="rect" id="node11" href="network-mpi_8h.html#a0f32f17f307a059cd2464da4039729fb" title="Cancel the given remote event by either removing from the outq or sending an antimessage, depending on the status of the original positive send. " alt="" coords="304,276,411,303"/><area shape="rect" id="node4" href="ross-gvt_8h.html#a0d905b32b2567dd637c4926872622a70" title="tw_gvt_step2" alt="" coords="1030,309,1130,336"/><area shape="rect" id="node5" href="tw-sched_8c.html#ab3e02a0e976921bd18a11b8b6a00c110" title="tw_scheduler_conservative" alt="" coords="1214,309,1394,336"/><area shape="rect" id="node8" href="tw-sched_8c.html#a1ebf9585a3de4d61c5fc050c7600fcd8" title="tw_scheduler_optimistic" alt="" coords="1223,259,1385,285"/><area shape="rect" id="node9" href="tw-sched_8c.html#accfa49d85bd68f2c53d4a08cf64ace88" title="tw_scheduler_optimistic\l_realtime" alt="" coords="1223,171,1385,213"/><area shape="rect" id="node10" href="tw-sched_8c.html#ae7357a99fcf58867f153cb7ab920b400" title="tw_sched_init" alt="" coords="1029,461,1131,488"/><area shape="rect" id="node6" href="tw-setup_8c.html#a6dbc4bba03285bb1b8a8a5464f0375ea" title="tw_run" alt="" coords="1443,259,1504,285"/><area shape="rect" id="node7" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="1552,259,1603,285"/><area shape="rect" id="node12" href="tw-event_8c.html#ace65c26a8d368f9b222d3d4416bff0af" title="event_cancel" alt="" coords="459,209,557,236"/><area shape="rect" id="node13" href="tw-event_8c.html#ad90c1310a5aeee6d9bff67237f3e9913" title="tw_event_rollback" alt="" coords="606,176,733,203"/><area shape="rect" id="node14" href="tw-kp_8c.html#a5b88c07fbc4f7810bdc676306013b513" title="tw_kp_rollback_to" alt="" coords="801,176,927,203"/><area shape="rect" id="node17" href="tw-kp_8c.html#a64819ac4aba17987e01bb13142e78c86" title="tw_kp_rollback_event" alt="" coords="790,113,938,140"/><area shape="rect" id="node19" href="tw-sched_8c.html#ad27b3474d878cedfe1a1f993093d8715" title="tw_sched_batch" alt="" coords="1021,259,1139,285"/><area shape="rect" id="node20" href="tw-sched_8c.html#a1586b72acaa34a4ef8cc6aadabe9711e" title="tw_sched_batch_realtime" alt="" coords="995,5,1165,32"/><area shape="rect" id="node15" href="tw-sched_8c.html#a0bb0520414480154343b267735636433" title="tw_sched_event_q" alt="" coords="1015,208,1145,235"/><area shape="rect" id="node16" href="tw-sched_8c.html#ad49988d8dcde406fac7f4a2e11eac17f" title="tw_scheduler_optimistic\l_debug" alt="" coords="1223,78,1385,119"/><area shape="rect" id="node18" href="tw-sched_8c.html#abe0eb975865f0cde7f2c2e3129bd18d7" title="tw_sched_cancel_q" alt="" coords="1011,107,1149,133"/><area shape="rect" id="node22" href="tw-event_8c.html#ad057802273cd99b0e039da1ba15080ac" title="tw_event_send" alt="" coords="614,544,725,571"/><area shape="rect" id="node23" href="analysis-lp_8c.html#a59aaa23fb40396f2b16d7a7fc2d25367" title="st_create_sample_event" alt="" coords="782,512,946,539"/><area shape="rect" id="node26" href="io_8h.html#a2c72f26ee424fa3597838fd69de45cdb" title="io_load_events" alt="" coords="809,461,919,488"/><area shape="rect" id="node27" href="phold_8c.html#a721365de85f51a68a49f3af69f411e10" title="phold_init" alt="" coords="825,563,903,589"/><area shape="rect" id="node28" href="phold_8c.html#a097328e25aacfc8361de4bcd3ef77a18" title="phold_pre_run" alt="" coords="813,613,915,640"/><area shape="rect" id="node29" href="phold_8c.html#a85ba7c43c159225d369a4edc07c91fa3" title="phold_event_handler" alt="" coords="793,664,935,691"/><area shape="rect" id="node24" href="analysis-lp_8h.html#ad74eeee6fcd09d61e982a87d59473a61" title="analysis_event" alt="" coords="1025,512,1135,539"/><area shape="rect" id="node25" href="analysis-lp_8h.html#ac43c559cd392cfd316e776c70b65c542" title="analysis_init" alt="" coords="1033,563,1127,589"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a08594cce713aee586b50774147ce63df"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void send_finish </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structtw__pe.html">tw_pe</a> *&#160;</td>
          <td class="paramname"><em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structtw__event.html">tw_event</a> *&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">me</td><td>pointer to PE </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">e</td><td>pointer to event that we just received </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>not currently used </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00495">495</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="ross-types_8h_source.html#l00270">tw_event::cancel_asend</a>, <a class="el" href="ross-types_8h_source.html#l00269">tw_event::cancel_q</a>, <a class="el" href="ross-types_8h_source.html#l00029">CONSERVATIVE</a>, <a class="el" href="ross-global_8c_source.html#l00018">g_tw_synchronization_protocol</a>, <a class="el" href="ross-types_8h_source.html#l00313">tw_lp::kp</a>, <a class="el" href="ross-types_8h_source.html#l00366">tw_kp::kp_stats</a>, <a class="el" href="ross-types_8h_source.html#l00323">tw_lp::lp_stats</a>, <a class="el" href="ross-types_8h_source.html#l00268">tw_event::owner</a>, <a class="el" href="ross-types_8h_source.html#l00121">tw_statistics::s_nsend_network</a>, <a class="el" href="st-instrumentation_8h_source.html#l00144">st_kp_stats::s_nsend_network</a>, <a class="el" href="st-instrumentation_8h_source.html#l00158">st_lp_stats::s_nsend_network</a>, <a class="el" href="ross-types_8h_source.html#l00281">tw_event::src_lp</a>, <a class="el" href="structtw__event.html#aaccf9aa1154e261f109c6add9abb487b">tw_event::state</a>, <a class="el" href="ross-types_8h_source.html#l00415">tw_pe::stats</a>, <a class="el" href="tw-util_8c_source.html#l00074">tw_error()</a>, <a class="el" href="ross-extern_8h.html#a5215643013906a13f0e2febadd0b0473">tw_event_free()</a>, <a class="el" href="tw-eventq_8h_source.html#l00257">tw_eventq_push()</a>, <a class="el" href="ross-extern_8h_source.html#l00164">TW_LOC</a>, <a class="el" href="ross-types_8h_source.html#l00220">TW_net_acancel</a>, <a class="el" href="ross-types_8h_source.html#l00219">TW_net_asend</a>, and <a class="el" href="ross-types_8h_source.html#l00221">TW_pe_sevent_q</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00554">service_queues()</a>, and <a class="el" href="network-mpi_8c_source.html#l00578">tw_net_send()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a08594cce713aee586b50774147ce63df_cgraph.png" border="0" usemap="#network-mpi_8c_a08594cce713aee586b50774147ce63df_cgraph" alt=""/></div>
<map name="network-mpi_8c_a08594cce713aee586b50774147ce63df_cgraph" id="network-mpi_8c_a08594cce713aee586b50774147ce63df_cgraph">
<area shape="rect" id="node2" href="ross-extern_8h.html#a49ed2388aaae26e43280b7909c834aaa" title="tw_error" alt="" coords="480,13,549,40"/><area shape="rect" id="node4" href="ross-extern_8h.html#a5215643013906a13f0e2febadd0b0473" title="tw_event_free" alt="" coords="148,25,252,52"/><area shape="rect" id="node5" href="tw-eventq_8h.html#a5c324b9c5a53c17e78709fa7eaaa7a1f" title="tw_eventq_push" alt="" coords="141,76,259,102"/><area shape="rect" id="node3" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="598,13,695,40"/><area shape="rect" id="node6" href="tw-eventq_8h.html#a38f6e76712a4c5a6714aafa5ce69c2ca" title="tw_eventq_debug" alt="" coords="307,50,431,77"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a08594cce713aee586b50774147ce63df_icgraph.png" border="0" usemap="#network-mpi_8c_a08594cce713aee586b50774147ce63df_icgraph" alt=""/></div>
<map name="network-mpi_8c_a08594cce713aee586b50774147ce63df_icgraph" id="network-mpi_8c_a08594cce713aee586b50774147ce63df_icgraph">
<area shape="rect" id="node2" href="network-mpi_8c.html#a8705ab243733bb856d58534e0e853da3" title="Start checks for finished operations in send/recv queues, and post new sends/recvs if possible..." alt="" coords="142,360,255,387"/><area shape="rect" id="node21" href="network-mpi_8h.html#a6392a492117a07ef4a834aff3e36ec33" title="Adds the event to the outgoing queue of events to be sent, polls for finished sends, and attempts to start sends from outq. " alt="" coords="151,487,247,513"/><area shape="rect" id="node3" href="network-mpi_8h.html#a29c8b71c5bbcfa0c7a30fc31769be05e" title="starts service_queues() to poll network " alt="" coords="817,360,911,387"/><area shape="rect" id="node11" href="network-mpi_8h.html#a0f32f17f307a059cd2464da4039729fb" title="Cancel the given remote event by either removing from the outq or sending an antimessage, depending on the status of the original positive send. " alt="" coords="304,276,411,303"/><area shape="rect" id="node4" href="ross-gvt_8h.html#a0d905b32b2567dd637c4926872622a70" title="tw_gvt_step2" alt="" coords="1030,309,1130,336"/><area shape="rect" id="node5" href="tw-sched_8c.html#ab3e02a0e976921bd18a11b8b6a00c110" title="tw_scheduler_conservative" alt="" coords="1214,309,1394,336"/><area shape="rect" id="node8" href="tw-sched_8c.html#a1ebf9585a3de4d61c5fc050c7600fcd8" title="tw_scheduler_optimistic" alt="" coords="1223,259,1385,285"/><area shape="rect" id="node9" href="tw-sched_8c.html#accfa49d85bd68f2c53d4a08cf64ace88" title="tw_scheduler_optimistic\l_realtime" alt="" coords="1223,171,1385,213"/><area shape="rect" id="node10" href="tw-sched_8c.html#ae7357a99fcf58867f153cb7ab920b400" title="tw_sched_init" alt="" coords="1029,461,1131,488"/><area shape="rect" id="node6" href="tw-setup_8c.html#a6dbc4bba03285bb1b8a8a5464f0375ea" title="tw_run" alt="" coords="1443,259,1504,285"/><area shape="rect" id="node7" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="1552,259,1603,285"/><area shape="rect" id="node12" href="tw-event_8c.html#ace65c26a8d368f9b222d3d4416bff0af" title="event_cancel" alt="" coords="459,209,557,236"/><area shape="rect" id="node13" href="tw-event_8c.html#ad90c1310a5aeee6d9bff67237f3e9913" title="tw_event_rollback" alt="" coords="606,176,733,203"/><area shape="rect" id="node14" href="tw-kp_8c.html#a5b88c07fbc4f7810bdc676306013b513" title="tw_kp_rollback_to" alt="" coords="801,176,927,203"/><area shape="rect" id="node17" href="tw-kp_8c.html#a64819ac4aba17987e01bb13142e78c86" title="tw_kp_rollback_event" alt="" coords="790,113,938,140"/><area shape="rect" id="node19" href="tw-sched_8c.html#ad27b3474d878cedfe1a1f993093d8715" title="tw_sched_batch" alt="" coords="1021,259,1139,285"/><area shape="rect" id="node20" href="tw-sched_8c.html#a1586b72acaa34a4ef8cc6aadabe9711e" title="tw_sched_batch_realtime" alt="" coords="995,5,1165,32"/><area shape="rect" id="node15" href="tw-sched_8c.html#a0bb0520414480154343b267735636433" title="tw_sched_event_q" alt="" coords="1015,208,1145,235"/><area shape="rect" id="node16" href="tw-sched_8c.html#ad49988d8dcde406fac7f4a2e11eac17f" title="tw_scheduler_optimistic\l_debug" alt="" coords="1223,78,1385,119"/><area shape="rect" id="node18" href="tw-sched_8c.html#abe0eb975865f0cde7f2c2e3129bd18d7" title="tw_sched_cancel_q" alt="" coords="1011,107,1149,133"/><area shape="rect" id="node22" href="tw-event_8c.html#ad057802273cd99b0e039da1ba15080ac" title="tw_event_send" alt="" coords="614,544,725,571"/><area shape="rect" id="node23" href="analysis-lp_8c.html#a59aaa23fb40396f2b16d7a7fc2d25367" title="st_create_sample_event" alt="" coords="782,512,946,539"/><area shape="rect" id="node26" href="io_8h.html#a2c72f26ee424fa3597838fd69de45cdb" title="io_load_events" alt="" coords="809,461,919,488"/><area shape="rect" id="node27" href="phold_8c.html#a721365de85f51a68a49f3af69f411e10" title="phold_init" alt="" coords="825,563,903,589"/><area shape="rect" id="node28" href="phold_8c.html#a097328e25aacfc8361de4bcd3ef77a18" title="phold_pre_run" alt="" coords="813,613,915,640"/><area shape="rect" id="node29" href="phold_8c.html#a85ba7c43c159225d369a4edc07c91fa3" title="phold_event_handler" alt="" coords="793,664,935,691"/><area shape="rect" id="node24" href="analysis-lp_8h.html#ad74eeee6fcd09d61e982a87d59473a61" title="analysis_event" alt="" coords="1025,512,1135,539"/><area shape="rect" id="node25" href="analysis-lp_8h.html#ac43c559cd392cfd316e776c70b65c542" title="analysis_init" alt="" coords="1033,563,1127,589"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a8705ab243733bb856d58534e0e853da3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void service_queues </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structtw__pe.html">tw_pe</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">me</td><td>pointer to PE </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00554">554</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="network-mpi_8c_source.html#l00032">posted_recvs</a>, <a class="el" href="network-mpi_8c_source.html#l00031">posted_sends</a>, <a class="el" href="network-mpi_8c_source.html#l00284">recv_begin()</a>, <a class="el" href="network-mpi_8c_source.html#l00329">recv_finish()</a>, <a class="el" href="network-mpi_8c_source.html#l00440">send_begin()</a>, <a class="el" href="network-mpi_8c_source.html#l00495">send_finish()</a>, and <a class="el" href="network-mpi_8c_source.html#l00215">test_q()</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00595">tw_net_cancel()</a>, and <a class="el" href="network-mpi_8c_source.html#l00572">tw_net_read()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a8705ab243733bb856d58534e0e853da3_cgraph.png" border="0" usemap="#network-mpi_8c_a8705ab243733bb856d58534e0e853da3_cgraph" alt=""/></div>
<map name="network-mpi_8c_a8705ab243733bb856d58534e0e853da3_cgraph" id="network-mpi_8c_a8705ab243733bb856d58534e0e853da3_cgraph">
<area shape="rect" id="node2" href="network-mpi_8c.html#a90b2df9e7fdef6bca9bd7e3f7ff6a294" title="If there are any openings in the posted_recvs queue, post more Irecvs. " alt="" coords="169,244,255,271"/><area shape="rect" id="node10" href="network-mpi_8c.html#a149ffcda6e9840d885bfe970374a9f49" title="Determines how to handle the newly received event. " alt="" coords="169,516,255,543"/><area shape="rect" id="node30" href="network-mpi_8c.html#a4e1e1bd17bf05f66af5628d37dd9af9d" title="If there are any openings in the posted_sends queue, start sends for events in the outgoing queue..." alt="" coords="324,111,412,137"/><area shape="rect" id="node32" href="network-mpi_8c.html#a08594cce713aee586b50774147ce63df" title="Determines how to handle the buffer of event whose send operation just finished. " alt="" coords="168,339,256,365"/><area shape="rect" id="node33" href="network-mpi_8c.html#a3a991bb1d1d24fbb8695947451f3f765" title="Calls MPI_Testsome on the provided queue, to check for finished operations. " alt="" coords="183,29,241,56"/><area shape="rect" id="node3" href="ross-extern_8h.html#a49ed2388aaae26e43280b7909c834aaa" title="tw_error" alt="" coords="888,472,957,499"/><area shape="rect" id="node5" href="ross-extern_8h.html#a5215643013906a13f0e2febadd0b0473" title="tw_event_free" alt="" coords="316,364,420,391"/><area shape="rect" id="node6" href="ross-inline_8h.html#a91ee3bf5565bdad184cf16590b6b3198" title="tw_event_grab" alt="" coords="315,212,421,239"/><area shape="rect" id="node9" href="mpi__allreduce_8h.html#a7a58c92b0e80a7be5f3a741f75df71f8" title="tw_gvt_inprogress" alt="" coords="304,263,432,289"/><area shape="rect" id="node4" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="1022,472,1119,499"/><area shape="rect" id="node7" href="tw-eventq_8h.html#aa40bc1edebb9f58d87092388cf8dc0df" title="tw_eventq_pop" alt="" coords="483,212,594,239"/><area shape="rect" id="node8" href="tw-eventq_8h.html#a38f6e76712a4c5a6714aafa5ce69c2ca" title="tw_eventq_debug" alt="" coords="673,263,797,289"/><area shape="rect" id="node11" href="aarch64_8h.html#a450cf25fa5291629087ca4198de55757" title="tw_clock_read" alt="" coords="485,787,592,813"/><area shape="rect" id="node12" href="tw-eventq_8h.html#a5c324b9c5a53c17e78709fa7eaaa7a1f" title="tw_eventq_push" alt="" coords="309,415,427,441"/><area shape="rect" id="node13" href="ross-kernel-inline_8h.html#a3e5591d29e9db9c6a1a1cc19ed55feec" title="tw_getlocal_lp" alt="" coords="315,516,421,543"/><area shape="rect" id="node14" href="network-mpi_8c.html#a2818efb70df48e5e29d3dacb3e2de009" title="tw_nnodes" alt="" coords="496,560,581,587"/><area shape="rect" id="node15" href="hash-quadratic_8c.html#a4e8a48f209c2574ac4755605ac42f773" title="tw_hash_insert" alt="" coords="313,787,423,813"/><area shape="rect" id="node23" href="hash-quadratic_8c.html#af2da87c210aeb3433d50ee3bcb139e20" title="tw_hash_remove" alt="" coords="307,668,429,695"/><area shape="rect" id="node27" href="splay_8c.html#a60a6784c1d092ff7ddf96cf6762d7b9e" title="tw_pq_enqueue" alt="" coords="311,465,425,492"/><area shape="rect" id="node16" href="avl__tree_8c.html#a8bb2b5a6430ff1464d6065e5cd136a43" title="avlInsert" alt="" coords="503,863,575,889"/><area shape="rect" id="node17" href="avl__tree_8c.html#aa54b2f5f340b60161c61d5c169ee8784" title="avl_alloc" alt="" coords="698,761,771,788"/><area shape="rect" id="node18" href="avl__tree_8c.html#a50f7204680050d273c446d51007858bc" title="avlRebalance" alt="" coords="872,988,973,1015"/><area shape="rect" id="node22" href="ross-extern_8h.html#a9fdd5173071664ba458fbd0d2419713e" title="tw_printf" alt="" coords="699,1089,771,1116"/><area shape="rect" id="node19" href="avl__tree_8c.html#a8a3b9d830a7e822d2246e76c8af213c6" title="avlFixHeight" alt="" coords="1169,988,1263,1015"/><area shape="rect" id="node20" href="avl__tree_8c.html#ad240d5f5dbe910d958769e3778b7215a" title="avlGetHeight" alt="" coords="1312,963,1411,989"/><area shape="rect" id="node21" href="avl__tree_8c.html#afffb84bcced3f51c3a1c8932ae360983" title="avlRotate" alt="" coords="1031,1039,1110,1065"/><area shape="rect" id="node24" href="avl__tree_8c.html#a0bf2fa317ba41b17cf40a029d0121eae" title="avlDelete" alt="" coords="500,736,577,763"/><area shape="rect" id="node25" href="avl__tree_8c.html#acf331e186c8087aff88ee1f8348a3e25" title="avl_free" alt="" coords="889,875,957,901"/><area shape="rect" id="node26" href="avl__tree_8c.html#a6a4f850cb0ae353f688d2f9953a93d5f" title="avlDeleteMin" alt="" coords="685,937,784,964"/><area shape="rect" id="node28" href="splay_8c.html#abe4300522e9cd5f9a0ee5b4aefee026c" title="tw_pq_compare_less_than" alt="" coords="646,433,823,460"/><area shape="rect" id="node29" href="splay_8c.html#a78410f728e5484187a8f69d74660e2e3" title="splay" alt="" coords="512,459,565,485"/><area shape="rect" id="node31" href="tw-eventq_8h.html#ab24e28ddbfec88a67c6c4be13be13d60" title="tw_eventq_peek" alt="" coords="480,60,597,87"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a8705ab243733bb856d58534e0e853da3_icgraph.png" border="0" usemap="#network-mpi_8c_a8705ab243733bb856d58534e0e853da3_icgraph" alt=""/></div>
<map name="network-mpi_8c_a8705ab243733bb856d58534e0e853da3_icgraph" id="network-mpi_8c_a8705ab243733bb856d58534e0e853da3_icgraph">
<area shape="rect" id="node2" href="network-mpi_8h.html#a0f32f17f307a059cd2464da4039729fb" title="Cancel the given remote event by either removing from the outq or sending an antimessage, depending on the status of the original positive send. " alt="" coords="168,195,275,221"/><area shape="rect" id="node17" href="network-mpi_8h.html#a29c8b71c5bbcfa0c7a30fc31769be05e" title="starts service_queues() to poll network " alt="" coords="684,324,777,351"/><area shape="rect" id="node3" href="tw-event_8c.html#ace65c26a8d368f9b222d3d4416bff0af" title="event_cancel" alt="" coords="323,163,421,189"/><area shape="rect" id="node4" href="tw-event_8c.html#ad90c1310a5aeee6d9bff67237f3e9913" title="tw_event_rollback" alt="" coords="470,151,597,177"/><area shape="rect" id="node5" href="tw-kp_8c.html#a5b88c07fbc4f7810bdc676306013b513" title="tw_kp_rollback_to" alt="" coords="667,151,794,177"/><area shape="rect" id="node13" href="tw-kp_8c.html#a64819ac4aba17987e01bb13142e78c86" title="tw_kp_rollback_event" alt="" coords="657,88,805,115"/><area shape="rect" id="node15" href="tw-sched_8c.html#ad27b3474d878cedfe1a1f993093d8715" title="tw_sched_batch" alt="" coords="875,233,992,260"/><area shape="rect" id="node16" href="tw-sched_8c.html#a1586b72acaa34a4ef8cc6aadabe9711e" title="tw_sched_batch_realtime" alt="" coords="645,5,816,32"/><area shape="rect" id="node6" href="tw-sched_8c.html#a0bb0520414480154343b267735636433" title="tw_sched_event_q" alt="" coords="868,183,999,209"/><area shape="rect" id="node12" href="tw-sched_8c.html#ad49988d8dcde406fac7f4a2e11eac17f" title="tw_scheduler_optimistic\l_debug" alt="" coords="1060,43,1223,85"/><area shape="rect" id="node7" href="tw-sched_8c.html#ab3e02a0e976921bd18a11b8b6a00c110" title="tw_scheduler_conservative" alt="" coords="1051,284,1231,311"/><area shape="rect" id="node10" href="tw-sched_8c.html#a1ebf9585a3de4d61c5fc050c7600fcd8" title="tw_scheduler_optimistic" alt="" coords="1060,233,1223,260"/><area shape="rect" id="node11" href="tw-sched_8c.html#accfa49d85bd68f2c53d4a08cf64ace88" title="tw_scheduler_optimistic\l_realtime" alt="" coords="1060,147,1223,189"/><area shape="rect" id="node8" href="tw-setup_8c.html#a6dbc4bba03285bb1b8a8a5464f0375ea" title="tw_run" alt="" coords="1280,233,1341,260"/><area shape="rect" id="node9" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="1389,233,1440,260"/><area shape="rect" id="node14" href="tw-sched_8c.html#abe0eb975865f0cde7f2c2e3129bd18d7" title="tw_sched_cancel_q" alt="" coords="865,81,1002,108"/><area shape="rect" id="node18" href="ross-gvt_8h.html#a0d905b32b2567dd637c4926872622a70" title="tw_gvt_step2" alt="" coords="883,284,983,311"/><area shape="rect" id="node19" href="tw-sched_8c.html#ae7357a99fcf58867f153cb7ab920b400" title="tw_sched_init" alt="" coords="1090,385,1193,412"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a3a991bb1d1d24fbb8695947451f3f765"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int test_q </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structact__q.html">act_q</a> *&#160;</td>
          <td class="paramname"><em>q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structtw__pe.html">tw_pe</a> *&#160;</td>
          <td class="paramname"><em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(*)(<a class="el" href="structtw__pe.html">tw_pe</a> *, <a class="el" href="structtw__event.html">tw_event</a> *, char *)&#160;</td>
          <td class="paramname"><em>finish</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">q</td><td>queue to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">me</td><td>pointer to the PE </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">finish</td><td>pointer to function that will perform the appropriate send/recv finish functionality</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if MPI_Testsome did not return any finished operations, 1 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00215">215</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="network-mpi_8c_source.html#l00024">act_q::cur</a>, <a class="el" href="network-mpi_8c_source.html#l00020">act_q::event_list</a>, <a class="el" href="network-mpi_8c_source.html#l00022">act_q::idx_list</a>, <a class="el" href="network-mpi_8c_source.html#l00018">act_q::name</a>, <a class="el" href="network-mpi_8c_source.html#l00021">act_q::req_list</a>, <a class="el" href="network-mpi_8c_source.html#l00023">act_q::status_list</a>, <a class="el" href="tw-util_8c_source.html#l00074">tw_error()</a>, and <a class="el" href="ross-extern_8h_source.html#l00164">TW_LOC</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00554">service_queues()</a>, and <a class="el" href="network-mpi_8c_source.html#l00578">tw_net_send()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a3a991bb1d1d24fbb8695947451f3f765_cgraph.png" border="0" usemap="#network-mpi_8c_a3a991bb1d1d24fbb8695947451f3f765_cgraph" alt=""/></div>
<map name="network-mpi_8c_a3a991bb1d1d24fbb8695947451f3f765_cgraph" id="network-mpi_8c_a3a991bb1d1d24fbb8695947451f3f765_cgraph">
<area shape="rect" id="node2" href="ross-extern_8h.html#a49ed2388aaae26e43280b7909c834aaa" title="tw_error" alt="" coords="112,5,181,32"/><area shape="rect" id="node3" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="230,5,327,32"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a3a991bb1d1d24fbb8695947451f3f765_icgraph.png" border="0" usemap="#network-mpi_8c_a3a991bb1d1d24fbb8695947451f3f765_icgraph" alt=""/></div>
<map name="network-mpi_8c_a3a991bb1d1d24fbb8695947451f3f765_icgraph" id="network-mpi_8c_a3a991bb1d1d24fbb8695947451f3f765_icgraph">
<area shape="rect" id="node2" href="network-mpi_8c.html#a8705ab243733bb856d58534e0e853da3" title="Start checks for finished operations in send/recv queues, and post new sends/recvs if possible..." alt="" coords="113,353,226,380"/><area shape="rect" id="node21" href="network-mpi_8h.html#a6392a492117a07ef4a834aff3e36ec33" title="Adds the event to the outgoing queue of events to be sent, polls for finished sends, and attempts to start sends from outq. " alt="" coords="121,480,217,507"/><area shape="rect" id="node3" href="network-mpi_8h.html#a0f32f17f307a059cd2464da4039729fb" title="Cancel the given remote event by either removing from the outq or sending an antimessage, depending on the status of the original positive send. " alt="" coords="275,277,381,304"/><area shape="rect" id="node18" href="network-mpi_8h.html#a29c8b71c5bbcfa0c7a30fc31769be05e" title="starts service_queues() to poll network " alt="" coords="788,353,881,380"/><area shape="rect" id="node4" href="tw-event_8c.html#ace65c26a8d368f9b222d3d4416bff0af" title="event_cancel" alt="" coords="429,227,528,253"/><area shape="rect" id="node5" href="tw-event_8c.html#ad90c1310a5aeee6d9bff67237f3e9913" title="tw_event_rollback" alt="" coords="577,201,703,228"/><area shape="rect" id="node6" href="tw-kp_8c.html#a5b88c07fbc4f7810bdc676306013b513" title="tw_kp_rollback_to" alt="" coords="771,201,898,228"/><area shape="rect" id="node14" href="tw-kp_8c.html#a64819ac4aba17987e01bb13142e78c86" title="tw_kp_rollback_event" alt="" coords="761,151,909,177"/><area shape="rect" id="node16" href="tw-sched_8c.html#ad27b3474d878cedfe1a1f993093d8715" title="tw_sched_batch" alt="" coords="992,252,1109,279"/><area shape="rect" id="node17" href="tw-sched_8c.html#a1586b72acaa34a4ef8cc6aadabe9711e" title="tw_sched_batch_realtime" alt="" coords="965,49,1136,76"/><area shape="rect" id="node7" href="tw-sched_8c.html#a0bb0520414480154343b267735636433" title="tw_sched_event_q" alt="" coords="985,201,1116,228"/><area shape="rect" id="node13" href="tw-sched_8c.html#ad49988d8dcde406fac7f4a2e11eac17f" title="tw_scheduler_optimistic\l_debug" alt="" coords="1193,35,1356,77"/><area shape="rect" id="node8" href="tw-sched_8c.html#ab3e02a0e976921bd18a11b8b6a00c110" title="tw_scheduler_conservative" alt="" coords="1185,328,1365,355"/><area shape="rect" id="node11" href="tw-sched_8c.html#a1ebf9585a3de4d61c5fc050c7600fcd8" title="tw_scheduler_optimistic" alt="" coords="1193,252,1356,279"/><area shape="rect" id="node12" href="tw-sched_8c.html#accfa49d85bd68f2c53d4a08cf64ace88" title="tw_scheduler_optimistic\l_realtime" alt="" coords="1193,165,1356,206"/><area shape="rect" id="node9" href="tw-setup_8c.html#a6dbc4bba03285bb1b8a8a5464f0375ea" title="tw_run" alt="" coords="1413,252,1475,279"/><area shape="rect" id="node10" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="1523,252,1573,279"/><area shape="rect" id="node15" href="tw-sched_8c.html#abe0eb975865f0cde7f2c2e3129bd18d7" title="tw_sched_cancel_q" alt="" coords="982,151,1119,177"/><area shape="rect" id="node19" href="ross-gvt_8h.html#a0d905b32b2567dd637c4926872622a70" title="tw_gvt_step2" alt="" coords="1001,353,1101,380"/><area shape="rect" id="node20" href="tw-sched_8c.html#ae7357a99fcf58867f153cb7ab920b400" title="tw_sched_init" alt="" coords="999,455,1102,481"/><area shape="rect" id="node22" href="tw-event_8c.html#ad057802273cd99b0e039da1ba15080ac" title="tw_event_send" alt="" coords="585,537,695,564"/><area shape="rect" id="node23" href="analysis-lp_8c.html#a59aaa23fb40396f2b16d7a7fc2d25367" title="st_create_sample_event" alt="" coords="753,505,917,532"/><area shape="rect" id="node26" href="io_8h.html#a2c72f26ee424fa3597838fd69de45cdb" title="io_load_events" alt="" coords="780,455,889,481"/><area shape="rect" id="node27" href="phold_8c.html#a721365de85f51a68a49f3af69f411e10" title="phold_init" alt="" coords="796,556,873,583"/><area shape="rect" id="node28" href="phold_8c.html#a097328e25aacfc8361de4bcd3ef77a18" title="phold_pre_run" alt="" coords="783,607,886,633"/><area shape="rect" id="node29" href="phold_8c.html#a85ba7c43c159225d369a4edc07c91fa3" title="phold_event_handler" alt="" coords="764,657,905,684"/><area shape="rect" id="node24" href="analysis-lp_8h.html#ad74eeee6fcd09d61e982a87d59473a61" title="analysis_event" alt="" coords="996,505,1105,532"/><area shape="rect" id="node25" href="analysis-lp_8h.html#ac43c559cd392cfd316e776c70b65c542" title="analysis_init" alt="" coords="1003,556,1098,583"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aea8ec44102f611b89ed0ad9f4015cd97"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tw_comm_set </td>
          <td>(</td>
          <td class="paramtype">MPI_Comm&#160;</td>
          <td class="paramname"><em>comm</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function should be called before tw_net_init. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">comm</td><td>Custom MPI communicator for setting MPI_COMM_ROSS </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00059">59</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="network-mpi_8c_source.html#l00005">custom_communicator</a>, and <a class="el" href="network-mpi_8c_source.html#l00004">MPI_COMM_ROSS</a>.</p>

<p>Referenced by <a class="el" href="phold_8c_source.html#l00169">main()</a>.</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_aea8ec44102f611b89ed0ad9f4015cd97_icgraph.png" border="0" usemap="#network-mpi_8c_aea8ec44102f611b89ed0ad9f4015cd97_icgraph" alt=""/></div>
<map name="network-mpi_8c_aea8ec44102f611b89ed0ad9f4015cd97_icgraph" id="network-mpi_8c_aea8ec44102f611b89ed0ad9f4015cd97_icgraph">
<area shape="rect" id="node2" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="157,5,208,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a2e139e8547a091c4c4ea0b445fe8dd1c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tw_net_abort </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Aborts the entire simulation when a grave error is found. </p>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00147">147</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="network-mpi_8c_source.html#l00004">MPI_COMM_ROSS</a>.</p>

<p>Referenced by <a class="el" href="tw-util_8c_source.html#l00074">tw_error()</a>.</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a2e139e8547a091c4c4ea0b445fe8dd1c_icgraph.png" border="0" usemap="#network-mpi_8c_a2e139e8547a091c4c4ea0b445fe8dd1c_icgraph" alt=""/></div>
<map name="network-mpi_8c_a2e139e8547a091c4c4ea0b445fe8dd1c_icgraph" id="network-mpi_8c_a2e139e8547a091c4c4ea0b445fe8dd1c_icgraph">
<area shape="rect" id="node2" href="tw-util_8c.html#a653cb2b88ee27b886ba5c854d5a0ba5c" title="tw_error" alt="" coords="152,1221,221,1248"/><area shape="rect" id="node3" href="avl__tree_8h.html#a8bb2b5a6430ff1464d6065e5cd136a43" title="avlInsert" alt="" coords="527,32,599,58"/><area shape="rect" id="node4" href="avl__tree_8h.html#a0bf2fa317ba41b17cf40a029d0121eae" title="avlDelete" alt="" coords="323,233,400,260"/><area shape="rect" id="node5" href="hash-quadratic_8h.html#af2da87c210aeb3433d50ee3bcb139e20" title="tw_hash_remove" alt="" coords="502,196,623,222"/><area shape="rect" id="node6" href="network-mpi_8c.html#a149ffcda6e9840d885bfe970374a9f49" title="Determines how to handle the newly received event. " alt="" coords="684,196,769,222"/><area shape="rect" id="node7" href="avl__tree_8h.html#aa54b2f5f340b60161c61d5c169ee8784" title="avl_alloc" alt="" coords="325,57,398,84"/><area shape="rect" id="node8" href="buddy_8h.html#aa9dd0e2ab55c7090670a556e026f515c" title="buddy_alloc" alt="" coords="316,537,407,564"/><area shape="rect" id="node9" href="ross-gvt_8h.html#a0d905b32b2567dd637c4926872622a70" title="tw_gvt_step2" alt="" coords="311,588,411,614"/><area shape="rect" id="node10" href="hash-quadratic_8h.html#aebe8a594c0fe5a367f194e7ba7e1aa80" title="tw_hash_create" alt="" coords="304,740,419,766"/><area shape="rect" id="node11" href="tw-pe_8c.html#a2a0e6607074d85f80badcf5f5da3547e" title="tw_pe_init" alt="" coords="522,765,603,792"/><area shape="rect" id="node12" href="network-mpi_8h.html#a625a50a6a03701b067693d7dc5ed483b" title="Starts the network library after option parsing. " alt="" coords="679,689,774,716"/><area shape="rect" id="node13" href="analysis-lp_8h.html#ac43c559cd392cfd316e776c70b65c542" title="analysis_init" alt="" coords="515,284,610,310"/><area shape="rect" id="node14" href="st-sim-engine_8c.html#aebb8dd16b2092d90989648f900bab71c" title="st_collect_engine_data_kps" alt="" coords="270,892,453,918"/><area shape="rect" id="node15" href="st-sim-engine_8c.html#a6d73057505cdbfef1d533509b61ea653" title="st_collect_engine_data_lps" alt="" coords="272,942,451,969"/><area shape="rect" id="node16" href="network-mpi_8h.html#a3db61a41bb6a85964e22e5488038b02e" title="Initalize the network library and parse options. " alt="" coords="319,993,404,1020"/><area shape="rect" id="node17" href="network-mpi_8h.html#a753856a718a9881f642523034260d3f9" title="Stops the network library after simulation end. " alt="" coords="315,1094,408,1121"/><area shape="rect" id="node18" href="tw-opts_8c.html#a255e7c887f702f6b1fb1e98df987d67d" title="apply_opt" alt="" coords="523,1069,602,1096"/><area shape="rect" id="node19" href="network-mpi_8h.html#ad2d1779a485bde77b7b62876a9ff6e25" title="tw_net_barrier" alt="" coords="309,1145,413,1172"/><area shape="rect" id="node20" href="network-mpi_8c.html#a3a991bb1d1d24fbb8695947451f3f765" title="Calls MPI_Testsome on the provided queue, to check for finished operations. " alt="" coords="332,1196,391,1222"/><area shape="rect" id="node21" href="network-mpi_8c.html#a90b2df9e7fdef6bca9bd7e3f7ff6a294" title="If there are any openings in the posted_recvs queue, post more Irecvs. " alt="" coords="520,638,605,665"/><area shape="rect" id="node22" href="network-mpi_8c.html#a4e1e1bd17bf05f66af5628d37dd9af9d" title="If there are any openings in the posted_sends queue, start sends for events in the outgoing queue..." alt="" coords="317,1246,405,1273"/><area shape="rect" id="node23" href="network-mpi_8c.html#a08594cce713aee586b50774147ce63df" title="Determines how to handle the buffer of event whose send operation just finished. " alt="" coords="317,1297,405,1324"/><area shape="rect" id="node24" href="network-mpi_8h.html#a0f32f17f307a059cd2464da4039729fb" title="Cancel the given remote event by either removing from the outq or sending an antimessage, depending on the status of the original positive send. " alt="" coords="308,1398,415,1425"/><area shape="rect" id="node25" href="tw-event_8c.html#ace65c26a8d368f9b222d3d4416bff0af" title="event_cancel" alt="" coords="513,1398,612,1425"/><area shape="rect" id="node26" href="network-mpi_8h.html#a37113c2afb3c223fcfb4a794df50c432" title="Function to reduce all the statistics for output. " alt="" coords="301,1500,422,1526"/><area shape="rect" id="node27" href="splay_8c.html#abe4300522e9cd5f9a0ee5b4aefee026c" title="tw_pq_compare_less_than" alt="" coords="273,1550,450,1577"/><area shape="rect" id="node28" href="tw-queue_8h.html#a40cbec95adbebb667f3490e7df86d044" title="tw_pq_delete_any" alt="" coords="298,1449,425,1476"/><area shape="rect" id="node29" href="ross-extern_8h.html#a96c2fb54945c414a31ce0512c39622b0" title="tw_rand_init_streams" alt="" coords="288,1601,435,1628"/><area shape="rect" id="node30" href="rand-clcg4_8h.html#aa596cdb21f9c04984cc4806d7357d542" title="rng_gen_reverse_val" alt="" coords="290,1652,433,1678"/><area shape="rect" id="node31" href="io_8h.html#a2c72f26ee424fa3597838fd69de45cdb" title="io_load_events" alt="" coords="672,436,781,462"/><area shape="rect" id="node32" href="io_8h.html#ad0792b7799ac27da02e522be00b25a62" title="io_event_deserialize" alt="" coords="291,1702,431,1729"/><area shape="rect" id="node33" href="ross-inline_8h.html#a6e55304c545600c2bb996fa70dd43f05" title="tw_event_new" alt="" coords="509,436,616,462"/><area shape="rect" id="node34" href="ross-kernel-inline_8h.html#a3e5591d29e9db9c6a1a1cc19ed55feec" title="tw_getlocal_lp" alt="" coords="309,334,414,361"/><area shape="rect" id="node35" href="tw-event_8c.html#ad057802273cd99b0e039da1ba15080ac" title="tw_event_send" alt="" coords="507,385,618,412"/><area shape="rect" id="node36" href="ross-kernel-inline_8h.html#a01d028965db8257815ad2ed053a0e40a" title="tw_getlp" alt="" coords="326,1753,397,1780"/><area shape="rect" id="node37" href="ross-kernel-inline_8h.html#a4066dfaca8faa4af256a377d85cea32f" title="tw_getkp" alt="" coords="324,1804,399,1830"/><area shape="rect" id="node38" href="ross-random_8h.html#aeb86f64e46e19ed8b3176b5a273c4aac" title="tw_rand_normal01" alt="" coords="297,1854,425,1881"/><area shape="rect" id="node39" href="tw-eventq_8h.html#a38f6e76712a4c5a6714aafa5ce69c2ca" title="tw_eventq_debug" alt="" coords="299,1905,423,1932"/><area shape="rect" id="node40" href="tw-kp_8c.html#aafb58a114f017b8491090ea372312684" title="tw_kp_onpe" alt="" coords="315,1956,407,1982"/><area shape="rect" id="node41" href="tw-kp_8c.html#a64819ac4aba17987e01bb13142e78c86" title="tw_kp_rollback_event" alt="" coords="287,2006,435,2033"/><area shape="rect" id="node42" href="tw-lp_8c.html#a7bd8e21f4093b87f54e5054d8a028c88" title="tw_lp_setup_types" alt="" coords="296,2057,427,2084"/><area shape="rect" id="node43" href="tw-lp_8c.html#a8ba3f617dbc434273f5ba44bf3132a6b" title="tw_lp_settype" alt="" coords="310,2108,413,2134"/><area shape="rect" id="node44" href="tw-lp_8c.html#adafe186da3f16dcfe74c9303bcda73d5" title="tw_lp_onpe" alt="" coords="317,2158,405,2185"/><area shape="rect" id="node45" href="tw-lp_8c.html#ab779ee7648ae0cf0931fce717b4401b6" title="tw_lp_onkp" alt="" coords="317,2209,405,2236"/><area shape="rect" id="node46" href="tw-lp_8c.html#ac66e6455900b508bb4e4e0cef4df8061" title="tw_init_lps" alt="" coords="319,2260,403,2286"/><area shape="rect" id="node47" href="tw-lp_8c.html#aab34bd3abe37a02c5a785eba6161d498" title="tw_pre_run_lps" alt="" coords="306,2310,417,2337"/><area shape="rect" id="node48" href="tw-lp_8c.html#ad229844ea59b6a3d9294f57bd2f99351" title="tw_lp_suspend" alt="" coords="307,2361,416,2388"/><area shape="rect" id="node49" href="tw-opts_8h.html#a899f9ec9822bbe43beedc9ed646aec41" title="tw_opt_parse" alt="" coords="311,2412,411,2438"/><area shape="rect" id="node50" href="tw-pe_8c.html#a8cebfe47c04f3a0ed4ffa359c1090c90" title="tw_pe_settype" alt="" coords="308,790,415,817"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ad2d1779a485bde77b7b62876a9ff6e25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tw_net_barrier </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Block until all nodes call the barrier. </p>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00175">175</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="network-mpi_8c_source.html#l00004">MPI_COMM_ROSS</a>, <a class="el" href="tw-util_8c_source.html#l00074">tw_error()</a>, and <a class="el" href="ross-extern_8h_source.html#l00164">TW_LOC</a>.</p>

<p>Referenced by <a class="el" href="tw-sched_8c_source.html#l00404">tw_sched_init()</a>, <a class="el" href="tw-sched_8c_source.html#l00514">tw_scheduler_conservative()</a>, <a class="el" href="tw-sched_8c_source.html#l00634">tw_scheduler_optimistic()</a>, and <a class="el" href="tw-sched_8c_source.html#l00680">tw_scheduler_optimistic_realtime()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_ad2d1779a485bde77b7b62876a9ff6e25_cgraph.png" border="0" usemap="#network-mpi_8c_ad2d1779a485bde77b7b62876a9ff6e25_cgraph" alt=""/></div>
<map name="network-mpi_8c_ad2d1779a485bde77b7b62876a9ff6e25_cgraph" id="network-mpi_8c_ad2d1779a485bde77b7b62876a9ff6e25_cgraph">
<area shape="rect" id="node2" href="ross-extern_8h.html#a49ed2388aaae26e43280b7909c834aaa" title="tw_error" alt="" coords="157,5,227,32"/><area shape="rect" id="node3" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="275,5,373,32"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_ad2d1779a485bde77b7b62876a9ff6e25_icgraph.png" border="0" usemap="#network-mpi_8c_ad2d1779a485bde77b7b62876a9ff6e25_icgraph" alt=""/></div>
<map name="network-mpi_8c_ad2d1779a485bde77b7b62876a9ff6e25_icgraph" id="network-mpi_8c_ad2d1779a485bde77b7b62876a9ff6e25_icgraph">
<area shape="rect" id="node2" href="tw-sched_8c.html#ae7357a99fcf58867f153cb7ab920b400" title="tw_sched_init" alt="" coords="197,5,299,32"/><area shape="rect" id="node5" href="tw-sched_8c.html#ab3e02a0e976921bd18a11b8b6a00c110" title="tw_scheduler_conservative" alt="" coords="158,56,338,83"/><area shape="rect" id="node6" href="tw-sched_8c.html#a1ebf9585a3de4d61c5fc050c7600fcd8" title="tw_scheduler_optimistic" alt="" coords="167,107,329,133"/><area shape="rect" id="node7" href="tw-sched_8c.html#accfa49d85bd68f2c53d4a08cf64ace88" title="tw_scheduler_optimistic\l_realtime" alt="" coords="167,158,329,199"/><area shape="rect" id="node3" href="tw-setup_8c.html#a6dbc4bba03285bb1b8a8a5464f0375ea" title="tw_run" alt="" coords="387,81,448,108"/><area shape="rect" id="node4" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="496,81,547,108"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a7032d3d1b4b869e4f1669248c7cf6447"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tw_net_cancel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structtw__event.html">tw_event</a> *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">e</td><td>remote event to be canceled </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00595">595</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="ross-types_8h_source.html#l00270">tw_event::cancel_asend</a>, <a class="el" href="ross-types_8h_source.html#l00269">tw_event::cancel_q</a>, <a class="el" href="ross-types_8h_source.html#l00268">tw_event::owner</a>, <a class="el" href="ross-types_8h_source.html#l00308">tw_lp::pe</a>, <a class="el" href="network-mpi_8c_source.html#l00554">service_queues()</a>, <a class="el" href="ross-types_8h_source.html#l00281">tw_event::src_lp</a>, <a class="el" href="structtw__event.html#aaccf9aa1154e261f109c6add9abb487b">tw_event::state</a>, <a class="el" href="tw-util_8c_source.html#l00074">tw_error()</a>, <a class="el" href="ross-extern_8h.html#a5215643013906a13f0e2febadd0b0473">tw_event_free()</a>, <a class="el" href="tw-eventq_8h_source.html#l00384">tw_eventq_delete_any()</a>, <a class="el" href="tw-eventq_8h_source.html#l00320">tw_eventq_unshift()</a>, <a class="el" href="ross-extern_8h_source.html#l00164">TW_LOC</a>, <a class="el" href="ross-types_8h_source.html#l00219">TW_net_asend</a>, <a class="el" href="ross-types_8h_source.html#l00218">TW_net_outq</a>, and <a class="el" href="ross-types_8h_source.html#l00221">TW_pe_sevent_q</a>.</p>

<p>Referenced by <a class="el" href="tw-event_8c_source.html#l00107">event_cancel()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a7032d3d1b4b869e4f1669248c7cf6447_cgraph.png" border="0" usemap="#network-mpi_8c_a7032d3d1b4b869e4f1669248c7cf6447_cgraph" alt=""/></div>
<map name="network-mpi_8c_a7032d3d1b4b869e4f1669248c7cf6447_cgraph" id="network-mpi_8c_a7032d3d1b4b869e4f1669248c7cf6447_cgraph">
<area shape="rect" id="node2" href="network-mpi_8c.html#a8705ab243733bb856d58534e0e853da3" title="Start checks for finished operations in send/recv queues, and post new sends/recvs if possible..." alt="" coords="179,819,293,846"/><area shape="rect" id="node4" href="ross-extern_8h.html#a49ed2388aaae26e43280b7909c834aaa" title="tw_error" alt="" coords="1080,566,1149,593"/><area shape="rect" id="node6" href="ross-extern_8h.html#a5215643013906a13f0e2febadd0b0473" title="tw_event_free" alt="" coords="508,971,612,998"/><area shape="rect" id="node35" href="tw-eventq_8h.html#a5023008188f7e7e35ce1c77caeb0d17a" title="tw_eventq_delete_any" alt="" coords="160,769,312,795"/><area shape="rect" id="node36" href="tw-eventq_8h.html#a6be6332230ef4fb5c8a3f4a0412493a8" title="tw_eventq_unshift" alt="" coords="172,1047,300,1074"/><area shape="rect" id="node3" href="network-mpi_8c.html#a90b2df9e7fdef6bca9bd7e3f7ff6a294" title="If there are any openings in the posted_recvs queue, post more Irecvs. " alt="" coords="361,819,447,846"/><area shape="rect" id="node11" href="network-mpi_8c.html#a149ffcda6e9840d885bfe970374a9f49" title="Determines how to handle the newly received event. " alt="" coords="361,617,447,643"/><area shape="rect" id="node31" href="network-mpi_8c.html#a4e1e1bd17bf05f66af5628d37dd9af9d" title="If there are any openings in the posted_sends queue, start sends for events in the outgoing queue..." alt="" coords="516,1022,604,1049"/><area shape="rect" id="node33" href="network-mpi_8c.html#a08594cce713aee586b50774147ce63df" title="Determines how to handle the buffer of event whose send operation just finished. " alt="" coords="360,870,448,897"/><area shape="rect" id="node34" href="network-mpi_8c.html#a3a991bb1d1d24fbb8695947451f3f765" title="Calls MPI_Testsome on the provided queue, to check for finished operations. " alt="" coords="375,414,433,441"/><area shape="rect" id="node7" href="ross-inline_8h.html#a91ee3bf5565bdad184cf16590b6b3198" title="tw_event_grab" alt="" coords="507,921,613,947"/><area shape="rect" id="node10" href="mpi__allreduce_8h.html#a7a58c92b0e80a7be5f3a741f75df71f8" title="tw_gvt_inprogress" alt="" coords="496,718,624,745"/><area shape="rect" id="node5" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="1214,566,1311,593"/><area shape="rect" id="node8" href="tw-eventq_8h.html#aa40bc1edebb9f58d87092388cf8dc0df" title="tw_eventq_pop" alt="" coords="675,921,786,947"/><area shape="rect" id="node9" href="tw-eventq_8h.html#a38f6e76712a4c5a6714aafa5ce69c2ca" title="tw_eventq_debug" alt="" coords="865,870,989,897"/><area shape="rect" id="node12" href="aarch64_8h.html#a450cf25fa5291629087ca4198de55757" title="tw_clock_read" alt="" coords="677,414,784,441"/><area shape="rect" id="node13" href="tw-eventq_8h.html#a5c324b9c5a53c17e78709fa7eaaa7a1f" title="tw_eventq_push" alt="" coords="501,870,619,897"/><area shape="rect" id="node14" href="ross-kernel-inline_8h.html#a3e5591d29e9db9c6a1a1cc19ed55feec" title="tw_getlocal_lp" alt="" coords="507,566,613,593"/><area shape="rect" id="node15" href="network-mpi_8c.html#a2818efb70df48e5e29d3dacb3e2de009" title="tw_nnodes" alt="" coords="688,515,773,542"/><area shape="rect" id="node16" href="hash-quadratic_8c.html#a4e8a48f209c2574ac4755605ac42f773" title="tw_hash_insert" alt="" coords="505,363,615,390"/><area shape="rect" id="node24" href="hash-quadratic_8c.html#af2da87c210aeb3433d50ee3bcb139e20" title="tw_hash_remove" alt="" coords="499,465,621,491"/><area shape="rect" id="node28" href="splay_8c.html#a60a6784c1d092ff7ddf96cf6762d7b9e" title="tw_pq_enqueue" alt="" coords="503,617,617,643"/><area shape="rect" id="node17" href="avl__tree_8c.html#a8bb2b5a6430ff1464d6065e5cd136a43" title="avlInsert" alt="" coords="695,363,767,390"/><area shape="rect" id="node18" href="avl__tree_8c.html#aa54b2f5f340b60161c61d5c169ee8784" title="avl_alloc" alt="" coords="890,465,963,491"/><area shape="rect" id="node19" href="avl__tree_8c.html#a50f7204680050d273c446d51007858bc" title="avlRebalance" alt="" coords="1064,110,1165,137"/><area shape="rect" id="node23" href="ross-extern_8h.html#a9fdd5173071664ba458fbd0d2419713e" title="tw_printf" alt="" coords="891,313,963,339"/><area shape="rect" id="node20" href="avl__tree_8c.html#a8a3b9d830a7e822d2246e76c8af213c6" title="avlFixHeight" alt="" coords="1361,110,1455,137"/><area shape="rect" id="node21" href="avl__tree_8c.html#ad240d5f5dbe910d958769e3778b7215a" title="avlGetHeight" alt="" coords="1504,85,1603,111"/><area shape="rect" id="node22" href="avl__tree_8c.html#afffb84bcced3f51c3a1c8932ae360983" title="avlRotate" alt="" coords="1223,161,1302,187"/><area shape="rect" id="node25" href="avl__tree_8c.html#a0bf2fa317ba41b17cf40a029d0121eae" title="avlDelete" alt="" coords="692,110,769,137"/><area shape="rect" id="node26" href="avl__tree_8c.html#acf331e186c8087aff88ee1f8348a3e25" title="avl_free" alt="" coords="1081,22,1149,49"/><area shape="rect" id="node27" href="avl__tree_8c.html#a6a4f850cb0ae353f688d2f9953a93d5f" title="avlDeleteMin" alt="" coords="877,59,976,86"/><area shape="rect" id="node29" href="splay_8c.html#abe4300522e9cd5f9a0ee5b4aefee026c" title="tw_pq_compare_less_than" alt="" coords="838,617,1015,643"/><area shape="rect" id="node30" href="splay_8c.html#a78410f728e5484187a8f69d74660e2e3" title="splay" alt="" coords="704,667,757,694"/><area shape="rect" id="node32" href="tw-eventq_8h.html#ab24e28ddbfec88a67c6c4be13be13d60" title="tw_eventq_peek" alt="" coords="672,997,789,1023"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a7032d3d1b4b869e4f1669248c7cf6447_icgraph.png" border="0" usemap="#network-mpi_8c_a7032d3d1b4b869e4f1669248c7cf6447_icgraph" alt=""/></div>
<map name="network-mpi_8c_a7032d3d1b4b869e4f1669248c7cf6447_icgraph" id="network-mpi_8c_a7032d3d1b4b869e4f1669248c7cf6447_icgraph">
<area shape="rect" id="node2" href="tw-event_8c.html#ace65c26a8d368f9b222d3d4416bff0af" title="event_cancel" alt="" coords="160,147,259,173"/><area shape="rect" id="node3" href="tw-event_8c.html#ad90c1310a5aeee6d9bff67237f3e9913" title="tw_event_rollback" alt="" coords="307,147,434,173"/><area shape="rect" id="node4" href="tw-kp_8c.html#a5b88c07fbc4f7810bdc676306013b513" title="tw_kp_rollback_to" alt="" coords="494,71,621,97"/><area shape="rect" id="node12" href="tw-kp_8c.html#a64819ac4aba17987e01bb13142e78c86" title="tw_kp_rollback_event" alt="" coords="483,172,631,199"/><area shape="rect" id="node14" href="tw-sched_8c.html#ad27b3474d878cedfe1a1f993093d8715" title="tw_sched_batch" alt="" coords="499,121,616,148"/><area shape="rect" id="node15" href="tw-sched_8c.html#a1586b72acaa34a4ef8cc6aadabe9711e" title="tw_sched_batch_realtime" alt="" coords="680,223,851,249"/><area shape="rect" id="node5" href="tw-sched_8c.html#a0bb0520414480154343b267735636433" title="tw_sched_event_q" alt="" coords="700,71,831,97"/><area shape="rect" id="node11" href="tw-sched_8c.html#ad49988d8dcde406fac7f4a2e11eac17f" title="tw_scheduler_optimistic\l_debug" alt="" coords="908,5,1071,46"/><area shape="rect" id="node6" href="tw-sched_8c.html#ab3e02a0e976921bd18a11b8b6a00c110" title="tw_scheduler_conservative" alt="" coords="899,71,1079,97"/><area shape="rect" id="node9" href="tw-sched_8c.html#a1ebf9585a3de4d61c5fc050c7600fcd8" title="tw_scheduler_optimistic" alt="" coords="908,121,1071,148"/><area shape="rect" id="node10" href="tw-sched_8c.html#accfa49d85bd68f2c53d4a08cf64ace88" title="tw_scheduler_optimistic\l_realtime" alt="" coords="908,173,1071,214"/><area shape="rect" id="node7" href="tw-setup_8c.html#a6dbc4bba03285bb1b8a8a5464f0375ea" title="tw_run" alt="" coords="1128,96,1189,123"/><area shape="rect" id="node8" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="1237,96,1288,123"/><area shape="rect" id="node13" href="tw-sched_8c.html#abe0eb975865f0cde7f2c2e3129bd18d7" title="tw_sched_cancel_q" alt="" coords="697,172,834,199"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a3db61a41bb6a85964e22e5488038b02e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structtw__optdef.html">tw_optdef</a>* tw_net_init </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char ***&#160;</td>
          <td class="paramname"><em>argv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>argc and argv are pointers to the original command line; the network library may edit these before the option parser sees them allowing for network implementation specific argument handling to occur.</p>
<p>It's possible for a model to init MPI itself, as this function will first check if MPI is already initialized before attempting to call MPI_Init().</p>
<p>This function also sets the global variables g_tw_masternode and g_tw_mynode.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">argc</td><td>Pointer to command line arg count </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">argv</td><td>Pointer to command line args </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structtw__optdef.html">tw_optdef</a> array to be included in overall process command line argument display and parsing; NULL may be returned to indicate the implementation has no options it wants included. </dd></dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00066">66</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="ross-global_8c_source.html#l00089">g_tw_masternode</a>, <a class="el" href="ross-global_8c_source.html#l00088">g_tw_mynode</a>, <a class="el" href="network-mpi_8c_source.html#l00004">MPI_COMM_ROSS</a>, <a class="el" href="network-mpi_8c_source.html#l00039">mpi_opts</a>, <a class="el" href="tw-util_8c_source.html#l00074">tw_error()</a>, and <a class="el" href="ross-extern_8h_source.html#l00164">TW_LOC</a>.</p>

<p>Referenced by <a class="el" href="tw-setup_8c_source.html#l00033">tw_init()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a3db61a41bb6a85964e22e5488038b02e_cgraph.png" border="0" usemap="#network-mpi_8c_a3db61a41bb6a85964e22e5488038b02e_cgraph" alt=""/></div>
<map name="network-mpi_8c_a3db61a41bb6a85964e22e5488038b02e_cgraph" id="network-mpi_8c_a3db61a41bb6a85964e22e5488038b02e_cgraph">
<area shape="rect" id="node2" href="ross-extern_8h.html#a49ed2388aaae26e43280b7909c834aaa" title="tw_error" alt="" coords="139,5,208,32"/><area shape="rect" id="node3" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="257,5,354,32"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a3db61a41bb6a85964e22e5488038b02e_icgraph.png" border="0" usemap="#network-mpi_8c_a3db61a41bb6a85964e22e5488038b02e_icgraph" alt=""/></div>
<map name="network-mpi_8c_a3db61a41bb6a85964e22e5488038b02e_icgraph" id="network-mpi_8c_a3db61a41bb6a85964e22e5488038b02e_icgraph">
<area shape="rect" id="node2" href="tw-setup_8c.html#a7d395f5590701f5526a161fcb1261b03" title="tw_init" alt="" coords="139,5,199,32"/><area shape="rect" id="node3" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="248,5,299,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aad791cc8b066ed3cb37912b131b06b00"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ross_8h.html#a80b370bc538e17441aef6afaff852678">tw_stime</a> tw_net_minimum </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>minimum timestamp for this PE's network buffers </dd></dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00182">182</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="network-mpi_8c_source.html#l00024">act_q::cur</a>, <a class="el" href="network-mpi_8c_source.html#l00020">act_q::event_list</a>, <a class="el" href="ross-types_8h_source.html#l00167">tw_eventq::head</a>, <a class="el" href="ross-types_8h_source.html#l00251">tw_event::next</a>, <a class="el" href="network-mpi_8c_source.html#l00031">posted_sends</a>, <a class="el" href="ross-types_8h_source.html#l00282">tw_event::recv_ts</a>, <a class="el" href="ross_8h_source.html#l00154">TW_STIME_CMP</a>, and <a class="el" href="ross_8h_source.html#l00156">TW_STIME_MAX</a>.</p>

<p>Referenced by <a class="el" href="mpi__allreduce_8c_source.html#l00102">tw_gvt_step2()</a>.</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_aad791cc8b066ed3cb37912b131b06b00_icgraph.png" border="0" usemap="#network-mpi_8c_aad791cc8b066ed3cb37912b131b06b00_icgraph" alt=""/></div>
<map name="network-mpi_8c_aad791cc8b066ed3cb37912b131b06b00_icgraph" id="network-mpi_8c_aad791cc8b066ed3cb37912b131b06b00_icgraph">
<area shape="rect" id="node2" href="ross-gvt_8h.html#a0d905b32b2567dd637c4926872622a70" title="tw_gvt_step2" alt="" coords="177,56,277,83"/><area shape="rect" id="node3" href="tw-sched_8c.html#ab3e02a0e976921bd18a11b8b6a00c110" title="tw_scheduler_conservative" alt="" coords="326,5,506,32"/><area shape="rect" id="node6" href="tw-sched_8c.html#a1ebf9585a3de4d61c5fc050c7600fcd8" title="tw_scheduler_optimistic" alt="" coords="335,56,497,83"/><area shape="rect" id="node7" href="tw-sched_8c.html#accfa49d85bd68f2c53d4a08cf64ace88" title="tw_scheduler_optimistic\l_realtime" alt="" coords="335,107,497,149"/><area shape="rect" id="node4" href="tw-setup_8c.html#a6dbc4bba03285bb1b8a8a5464f0375ea" title="tw_run" alt="" coords="555,56,616,83"/><area shape="rect" id="node5" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="664,56,715,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a27a1957e366f9b52848477702234fc08"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tw_net_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structtw__pe.html">tw_pe</a> *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">me</td><td>pointer to the PE </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00572">572</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="network-mpi_8c_source.html#l00554">service_queues()</a>.</p>

<p>Referenced by <a class="el" href="mpi__allreduce_8c_source.html#l00102">tw_gvt_step2()</a>, <a class="el" href="tw-sched_8c_source.html#l00404">tw_sched_init()</a>, <a class="el" href="tw-sched_8c_source.html#l00514">tw_scheduler_conservative()</a>, <a class="el" href="tw-sched_8c_source.html#l00634">tw_scheduler_optimistic()</a>, and <a class="el" href="tw-sched_8c_source.html#l00680">tw_scheduler_optimistic_realtime()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a27a1957e366f9b52848477702234fc08_cgraph.png" border="0" usemap="#network-mpi_8c_a27a1957e366f9b52848477702234fc08_cgraph" alt=""/></div>
<map name="network-mpi_8c_a27a1957e366f9b52848477702234fc08_cgraph" id="network-mpi_8c_a27a1957e366f9b52848477702234fc08_cgraph">
<area shape="rect" id="node2" href="network-mpi_8c.html#a8705ab243733bb856d58534e0e853da3" title="Start checks for finished operations in send/recv queues, and post new sends/recvs if possible..." alt="" coords="147,244,261,271"/><area shape="rect" id="node3" href="network-mpi_8c.html#a90b2df9e7fdef6bca9bd7e3f7ff6a294" title="If there are any openings in the posted_recvs queue, post more Irecvs. " alt="" coords="311,244,396,271"/><area shape="rect" id="node11" href="network-mpi_8c.html#a149ffcda6e9840d885bfe970374a9f49" title="Determines how to handle the newly received event. " alt="" coords="311,516,396,543"/><area shape="rect" id="node31" href="network-mpi_8c.html#a4e1e1bd17bf05f66af5628d37dd9af9d" title="If there are any openings in the posted_sends queue, start sends for events in the outgoing queue..." alt="" coords="465,111,553,137"/><area shape="rect" id="node33" href="network-mpi_8c.html#a08594cce713aee586b50774147ce63df" title="Determines how to handle the buffer of event whose send operation just finished. " alt="" coords="309,339,397,365"/><area shape="rect" id="node34" href="network-mpi_8c.html#a3a991bb1d1d24fbb8695947451f3f765" title="Calls MPI_Testsome on the provided queue, to check for finished operations. " alt="" coords="324,29,383,56"/><area shape="rect" id="node4" href="ross-extern_8h.html#a49ed2388aaae26e43280b7909c834aaa" title="tw_error" alt="" coords="1029,472,1099,499"/><area shape="rect" id="node6" href="ross-extern_8h.html#a5215643013906a13f0e2febadd0b0473" title="tw_event_free" alt="" coords="457,364,561,391"/><area shape="rect" id="node7" href="ross-inline_8h.html#a91ee3bf5565bdad184cf16590b6b3198" title="tw_event_grab" alt="" coords="456,212,563,239"/><area shape="rect" id="node10" href="mpi__allreduce_8h.html#a7a58c92b0e80a7be5f3a741f75df71f8" title="tw_gvt_inprogress" alt="" coords="445,263,573,289"/><area shape="rect" id="node5" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="1163,472,1261,499"/><area shape="rect" id="node8" href="tw-eventq_8h.html#aa40bc1edebb9f58d87092388cf8dc0df" title="tw_eventq_pop" alt="" coords="625,212,735,239"/><area shape="rect" id="node9" href="tw-eventq_8h.html#a38f6e76712a4c5a6714aafa5ce69c2ca" title="tw_eventq_debug" alt="" coords="814,263,938,289"/><area shape="rect" id="node12" href="aarch64_8h.html#a450cf25fa5291629087ca4198de55757" title="tw_clock_read" alt="" coords="627,787,733,813"/><area shape="rect" id="node13" href="tw-eventq_8h.html#a5c324b9c5a53c17e78709fa7eaaa7a1f" title="tw_eventq_push" alt="" coords="451,415,568,441"/><area shape="rect" id="node14" href="ross-kernel-inline_8h.html#a3e5591d29e9db9c6a1a1cc19ed55feec" title="tw_getlocal_lp" alt="" coords="457,516,562,543"/><area shape="rect" id="node15" href="network-mpi_8c.html#a2818efb70df48e5e29d3dacb3e2de009" title="tw_nnodes" alt="" coords="637,560,723,587"/><area shape="rect" id="node16" href="hash-quadratic_8c.html#a4e8a48f209c2574ac4755605ac42f773" title="tw_hash_insert" alt="" coords="454,787,565,813"/><area shape="rect" id="node24" href="hash-quadratic_8c.html#af2da87c210aeb3433d50ee3bcb139e20" title="tw_hash_remove" alt="" coords="449,668,570,695"/><area shape="rect" id="node28" href="splay_8c.html#a60a6784c1d092ff7ddf96cf6762d7b9e" title="tw_pq_enqueue" alt="" coords="453,465,566,492"/><area shape="rect" id="node17" href="avl__tree_8c.html#a8bb2b5a6430ff1464d6065e5cd136a43" title="avlInsert" alt="" coords="644,863,716,889"/><area shape="rect" id="node18" href="avl__tree_8c.html#aa54b2f5f340b60161c61d5c169ee8784" title="avl_alloc" alt="" coords="839,761,913,788"/><area shape="rect" id="node19" href="avl__tree_8c.html#a50f7204680050d273c446d51007858bc" title="avlRebalance" alt="" coords="1013,988,1115,1015"/><area shape="rect" id="node23" href="ross-extern_8h.html#a9fdd5173071664ba458fbd0d2419713e" title="tw_printf" alt="" coords="840,1089,912,1116"/><area shape="rect" id="node20" href="avl__tree_8c.html#a8a3b9d830a7e822d2246e76c8af213c6" title="avlFixHeight" alt="" coords="1310,988,1405,1015"/><area shape="rect" id="node21" href="avl__tree_8c.html#ad240d5f5dbe910d958769e3778b7215a" title="avlGetHeight" alt="" coords="1453,963,1552,989"/><area shape="rect" id="node22" href="avl__tree_8c.html#afffb84bcced3f51c3a1c8932ae360983" title="avlRotate" alt="" coords="1173,1039,1251,1065"/><area shape="rect" id="node25" href="avl__tree_8c.html#a0bf2fa317ba41b17cf40a029d0121eae" title="avlDelete" alt="" coords="641,736,719,763"/><area shape="rect" id="node26" href="avl__tree_8c.html#acf331e186c8087aff88ee1f8348a3e25" title="avl_free" alt="" coords="1030,875,1098,901"/><area shape="rect" id="node27" href="avl__tree_8c.html#a6a4f850cb0ae353f688d2f9953a93d5f" title="avlDeleteMin" alt="" coords="827,937,925,964"/><area shape="rect" id="node29" href="splay_8c.html#abe4300522e9cd5f9a0ee5b4aefee026c" title="tw_pq_compare_less_than" alt="" coords="787,433,965,460"/><area shape="rect" id="node30" href="splay_8c.html#a78410f728e5484187a8f69d74660e2e3" title="splay" alt="" coords="653,459,707,485"/><area shape="rect" id="node32" href="tw-eventq_8h.html#ab24e28ddbfec88a67c6c4be13be13d60" title="tw_eventq_peek" alt="" coords="621,60,739,87"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a27a1957e366f9b52848477702234fc08_icgraph.png" border="0" usemap="#network-mpi_8c_a27a1957e366f9b52848477702234fc08_icgraph" alt=""/></div>
<map name="network-mpi_8c_a27a1957e366f9b52848477702234fc08_icgraph" id="network-mpi_8c_a27a1957e366f9b52848477702234fc08_icgraph">
<area shape="rect" id="node2" href="ross-gvt_8h.html#a0d905b32b2567dd637c4926872622a70" title="tw_gvt_step2" alt="" coords="149,72,249,99"/><area shape="rect" id="node3" href="tw-sched_8c.html#ab3e02a0e976921bd18a11b8b6a00c110" title="tw_scheduler_conservative" alt="" coords="299,5,479,32"/><area shape="rect" id="node6" href="tw-sched_8c.html#a1ebf9585a3de4d61c5fc050c7600fcd8" title="tw_scheduler_optimistic" alt="" coords="308,56,471,83"/><area shape="rect" id="node7" href="tw-sched_8c.html#accfa49d85bd68f2c53d4a08cf64ace88" title="tw_scheduler_optimistic\l_realtime" alt="" coords="308,107,471,149"/><area shape="rect" id="node8" href="tw-sched_8c.html#ae7357a99fcf58867f153cb7ab920b400" title="tw_sched_init" alt="" coords="147,173,250,200"/><area shape="rect" id="node4" href="tw-setup_8c.html#a6dbc4bba03285bb1b8a8a5464f0375ea" title="tw_run" alt="" coords="528,85,589,112"/><area shape="rect" id="node5" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="637,85,688,112"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ac1e0e20e3cba954c23932ed9a55d6dc6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tw_net_send </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structtw__event.html">tw_event</a> *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">e</td><td>remote event to be sent </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00578">578</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="ross-types_8h_source.html#l00268">tw_event::owner</a>, <a class="el" href="ross-types_8h_source.html#l00308">tw_lp::pe</a>, <a class="el" href="network-mpi_8c_source.html#l00031">posted_sends</a>, <a class="el" href="ross-types_8h_source.html#l00271">tw_event::remote</a>, <a class="el" href="network-mpi_8c_source.html#l00440">send_begin()</a>, <a class="el" href="network-mpi_8c_source.html#l00495">send_finish()</a>, <a class="el" href="ross-types_8h_source.html#l00281">tw_event::src_lp</a>, <a class="el" href="structtw__event.html#aaccf9aa1154e261f109c6add9abb487b">tw_event::state</a>, <a class="el" href="network-mpi_8c_source.html#l00215">test_q()</a>, <a class="el" href="tw-eventq_8h_source.html#l00320">tw_eventq_unshift()</a>, and <a class="el" href="ross-types_8h_source.html#l00218">TW_net_outq</a>.</p>

<p>Referenced by <a class="el" href="tw-event_8c_source.html#l00009">tw_event_send()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_ac1e0e20e3cba954c23932ed9a55d6dc6_cgraph.png" border="0" usemap="#network-mpi_8c_ac1e0e20e3cba954c23932ed9a55d6dc6_cgraph" alt=""/></div>
<map name="network-mpi_8c_ac1e0e20e3cba954c23932ed9a55d6dc6_cgraph" id="network-mpi_8c_ac1e0e20e3cba954c23932ed9a55d6dc6_cgraph">
<area shape="rect" id="node2" href="network-mpi_8c.html#a4e1e1bd17bf05f66af5628d37dd9af9d" title="If there are any openings in the posted_sends queue, start sends for events in the outgoing queue..." alt="" coords="169,67,257,94"/><area shape="rect" id="node8" href="network-mpi_8c.html#a08594cce713aee586b50774147ce63df" title="Determines how to handle the buffer of event whose send operation just finished. " alt="" coords="169,213,257,239"/><area shape="rect" id="node11" href="network-mpi_8c.html#a3a991bb1d1d24fbb8695947451f3f765" title="Calls MPI_Testsome on the provided queue, to check for finished operations. " alt="" coords="524,307,583,334"/><area shape="rect" id="node12" href="tw-eventq_8h.html#a6be6332230ef4fb5c8a3f4a0412493a8" title="tw_eventq_unshift" alt="" coords="149,143,277,170"/><area shape="rect" id="node3" href="ross-extern_8h.html#a49ed2388aaae26e43280b7909c834aaa" title="tw_error" alt="" coords="664,194,733,221"/><area shape="rect" id="node5" href="tw-eventq_8h.html#ab24e28ddbfec88a67c6c4be13be13d60" title="tw_eventq_peek" alt="" coords="325,79,443,106"/><area shape="rect" id="node6" href="tw-eventq_8h.html#aa40bc1edebb9f58d87092388cf8dc0df" title="tw_eventq_pop" alt="" coords="329,29,439,55"/><area shape="rect" id="node4" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="782,194,879,221"/><area shape="rect" id="node7" href="tw-eventq_8h.html#a38f6e76712a4c5a6714aafa5ce69c2ca" title="tw_eventq_debug" alt="" coords="491,155,615,182"/><area shape="rect" id="node9" href="ross-extern_8h.html#a5215643013906a13f0e2febadd0b0473" title="tw_event_free" alt="" coords="332,282,436,309"/><area shape="rect" id="node10" href="tw-eventq_8h.html#a5c324b9c5a53c17e78709fa7eaaa7a1f" title="tw_eventq_push" alt="" coords="325,181,443,207"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_ac1e0e20e3cba954c23932ed9a55d6dc6_icgraph.png" border="0" usemap="#network-mpi_8c_ac1e0e20e3cba954c23932ed9a55d6dc6_icgraph" alt=""/></div>
<map name="network-mpi_8c_ac1e0e20e3cba954c23932ed9a55d6dc6_icgraph" id="network-mpi_8c_ac1e0e20e3cba954c23932ed9a55d6dc6_icgraph">
<area shape="rect" id="node2" href="tw-event_8c.html#ad057802273cd99b0e039da1ba15080ac" title="tw_event_send" alt="" coords="150,157,261,184"/><area shape="rect" id="node3" href="analysis-lp_8c.html#a59aaa23fb40396f2b16d7a7fc2d25367" title="st_create_sample_event" alt="" coords="310,56,474,83"/><area shape="rect" id="node6" href="io_8h.html#a2c72f26ee424fa3597838fd69de45cdb" title="io_load_events" alt="" coords="337,107,447,133"/><area shape="rect" id="node10" href="phold_8c.html#a721365de85f51a68a49f3af69f411e10" title="phold_init" alt="" coords="353,157,431,184"/><area shape="rect" id="node11" href="phold_8c.html#a097328e25aacfc8361de4bcd3ef77a18" title="phold_pre_run" alt="" coords="341,208,443,235"/><area shape="rect" id="node12" href="phold_8c.html#a85ba7c43c159225d369a4edc07c91fa3" title="phold_event_handler" alt="" coords="321,259,463,285"/><area shape="rect" id="node4" href="analysis-lp_8h.html#ad74eeee6fcd09d61e982a87d59473a61" title="analysis_event" alt="" coords="523,5,632,32"/><area shape="rect" id="node5" href="analysis-lp_8h.html#ac43c559cd392cfd316e776c70b65c542" title="analysis_init" alt="" coords="530,56,625,83"/><area shape="rect" id="node7" href="tw-sched_8c.html#ae7357a99fcf58867f153cb7ab920b400" title="tw_sched_init" alt="" coords="526,107,629,133"/><area shape="rect" id="node8" href="tw-setup_8c.html#a6dbc4bba03285bb1b8a8a5464f0375ea" title="tw_run" alt="" coords="680,107,741,133"/><area shape="rect" id="node9" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="789,107,840,133"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a625a50a6a03701b067693d7dc5ed483b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tw_net_start </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Makes calls to initialize the PE (g_tw_pe), create the hash/AVL tree (for optimistic modes), and queues for posted sends/recvs. Also pre-posts MPI Irecvs operations. </p>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00109">109</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="ross-types_8h_source.html#l00029">CONSERVATIVE</a>, <a class="el" href="ross-global_8c_source.html#l00088">g_tw_mynode</a>, <a class="el" href="ross-global_8c_source.html#l00087">g_tw_net_device_size</a>, <a class="el" href="ross-global_8c_source.html#l00075">g_tw_pe</a>, <a class="el" href="ross-global_8c_source.html#l00018">g_tw_synchronization_protocol</a>, <a class="el" href="network-mpi_8c_source.html#l00093">init_q()</a>, <a class="el" href="network-mpi_8c_source.html#l00004">MPI_COMM_ROSS</a>, <a class="el" href="ross-types_8h_source.html#l00027">NO_SYNCH</a>, <a class="el" href="ross-types_8h_source.html#l00030">OPTIMISTIC</a>, <a class="el" href="network-mpi_8c_source.html#l00032">posted_recvs</a>, <a class="el" href="network-mpi_8c_source.html#l00031">posted_sends</a>, <a class="el" href="network-mpi_8c_source.html#l00035">read_buffer</a>, <a class="el" href="network-mpi_8c_source.html#l00284">recv_begin()</a>, <a class="el" href="network-mpi_8c_source.html#l00036">send_buffer</a>, <a class="el" href="ross-types_8h_source.html#l00028">SEQUENTIAL</a>, <a class="el" href="tw-util_8c_source.html#l00074">tw_error()</a>, <a class="el" href="ross-extern_8h_source.html#l00164">TW_LOC</a>, <a class="el" href="network-mpi_8c_source.html#l00103">tw_nnodes()</a>, <a class="el" href="tw-pe_8c_source.html#l00032">tw_pe_init()</a>, and <a class="el" href="network-mpi_8c_source.html#l00037">world_size</a>.</p>

<p>Referenced by <a class="el" href="tw-setup_8c_source.html#l00033">tw_init()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a625a50a6a03701b067693d7dc5ed483b_cgraph.png" border="0" usemap="#network-mpi_8c_a625a50a6a03701b067693d7dc5ed483b_cgraph" alt=""/></div>
<map name="network-mpi_8c_a625a50a6a03701b067693d7dc5ed483b_cgraph" id="network-mpi_8c_a625a50a6a03701b067693d7dc5ed483b_cgraph">
<area shape="rect" id="node2" href="network-mpi_8c.html#a9b32fd67edec885cbb35137bd4547616" title="Initializes queues used for posted sends and receives. " alt="" coords="165,83,219,110"/><area shape="rect" id="node8" href="network-mpi_8c.html#a90b2df9e7fdef6bca9bd7e3f7ff6a294" title="If there are any openings in the posted_recvs queue, post more Irecvs. " alt="" coords="149,641,235,667"/><area shape="rect" id="node9" href="ross-extern_8h.html#a49ed2388aaae26e43280b7909c834aaa" title="tw_error" alt="" coords="797,438,867,465"/><area shape="rect" id="node15" href="network-mpi_8c.html#a2818efb70df48e5e29d3dacb3e2de009" title="tw_nnodes" alt="" coords="472,489,557,515"/><area shape="rect" id="node16" href="ross-extern_8h.html#a2a0e6607074d85f80badcf5f5da3547e" title="tw_pe_init" alt="" coords="151,261,233,287"/><area shape="rect" id="node3" href="ross-extern_8h.html#a445b1ed30cd2e8ef1f837e782a339a70" title="tw_calloc" alt="" coords="643,33,720,59"/><area shape="rect" id="node4" href="tw-util_8c.html#a57c62eebb6371a6d0d5ea5043f12f91b" title="pool_alloc" alt="" coords="792,33,872,59"/><area shape="rect" id="node6" href="tw-util_8c.html#a653cb2b88ee27b886ba5c854d5a0ba5c" title="tw_error" alt="" coords="797,83,867,110"/><area shape="rect" id="node5" href="tw-util_8c.html#a0611e23c33bb8c31272e79d876b8bcb0" title="my_malloc" alt="" coords="927,33,1012,59"/><area shape="rect" id="node7" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="921,261,1018,287"/><area shape="rect" id="node10" href="ross-extern_8h.html#a5215643013906a13f0e2febadd0b0473" title="tw_event_free" alt="" coords="295,590,399,617"/><area shape="rect" id="node11" href="ross-inline_8h.html#a91ee3bf5565bdad184cf16590b6b3198" title="tw_event_grab" alt="" coords="293,742,400,769"/><area shape="rect" id="node14" href="mpi__allreduce_8h.html#a7a58c92b0e80a7be5f3a741f75df71f8" title="tw_gvt_inprogress" alt="" coords="283,641,411,667"/><area shape="rect" id="node12" href="tw-eventq_8h.html#aa40bc1edebb9f58d87092388cf8dc0df" title="tw_eventq_pop" alt="" coords="459,742,570,769"/><area shape="rect" id="node13" href="tw-eventq_8h.html#a38f6e76712a4c5a6714aafa5ce69c2ca" title="tw_eventq_debug" alt="" coords="619,742,743,769"/><area shape="rect" id="node17" href="tw-pe_8c.html#a8cebfe47c04f3a0ed4ffa359c1090c90" title="tw_pe_settype" alt="" coords="293,286,400,313"/><area shape="rect" id="node19" href="ross-random_8c.html#a5600e4cb011d29cc24a2408220d58909" title="tw_rand_init" alt="" coords="301,235,393,262"/><area shape="rect" id="node24" href="hash-quadratic_8c.html#aebe8a594c0fe5a367f194e7ba7e1aa80" title="tw_hash_create" alt="" coords="289,362,404,389"/><area shape="rect" id="node18" href="tw-pe_8c.html#a5eb4956a457b78c985923351ecd4b349" title="dummy_pe_f" alt="" coords="466,134,563,161"/><area shape="rect" id="node20" href="rand-clcg4_8c.html#a3c5ea1f9125b9534b62a80dbfa20dafb" title="rng_init" alt="" coords="483,235,547,262"/><area shape="rect" id="node21" href="rand-clcg4_8c.html#af6fe13cfedc4e727feee7b28869e036e" title="clamp_seed" alt="" coords="635,235,727,262"/><area shape="rect" id="node22" href="rand-clcg4_8c.html#ab89ab01c93d79746cff9a7ed763b24d3" title="Returns(s*t) MOD M. " alt="" coords="640,134,723,161"/><area shape="rect" id="node23" href="rand-clcg4_8c.html#ac243c54261ecf17a1b848e9b9a2025a9" title="Find B to run CLCG4 backwards. " alt="" coords="653,185,709,211"/><area shape="rect" id="node25" href="hash-quadratic_8c.html#a854762ca94b220319ef1c12485880233" title="is_prime" alt="" coords="646,362,717,389"/><area shape="rect" id="node26" href="hash-quadratic_8c.html#a447eca00439943f68b19052ea527fe93" title="next_prime" alt="" coords="471,337,558,363"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a625a50a6a03701b067693d7dc5ed483b_icgraph.png" border="0" usemap="#network-mpi_8c_a625a50a6a03701b067693d7dc5ed483b_icgraph" alt=""/></div>
<map name="network-mpi_8c_a625a50a6a03701b067693d7dc5ed483b_icgraph" id="network-mpi_8c_a625a50a6a03701b067693d7dc5ed483b_icgraph">
<area shape="rect" id="node2" href="tw-setup_8c.html#a7d395f5590701f5526a161fcb1261b03" title="tw_init" alt="" coords="150,5,210,32"/><area shape="rect" id="node3" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="259,5,309,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="abbcd0d5ea79ad57229162f703309142d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structtw__statistics.html">tw_statistics</a>* tw_net_statistics </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structtw__pe.html">tw_pe</a> *&#160;</td>
          <td class="paramname"><em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structtw__statistics.html">tw_statistics</a> *&#160;</td>
          <td class="paramname"><em>s</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Function to reduce all the statistics for output.</p>
<p>tw_net_statistics </p>
<dl class="section attention"><dt>Attention</dt><dd>Notice that the MPI_Reduce "count" parameter is greater than one. We are reducing on multiple variables <em>simultaneously</em> so if you change this function or the struct <a class="el" href="structtw__statistics.html" title="Statistics tallied over the duration of the simulation. ">tw_statistics</a>, you must update the other. </dd></dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00656">656</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="ross-global_8c_source.html#l00089">g_tw_masternode</a>, <a class="el" href="network-mpi_8c_source.html#l00004">MPI_COMM_ROSS</a>, <a class="el" href="ross-types_8h_source.html#l00154">tw_statistics::s_events_past_end</a>, <a class="el" href="ross-types_8h_source.html#l00108">tw_statistics::s_max_run_time</a>, <a class="el" href="ross-types_8h_source.html#l00132">tw_statistics::s_min_detected_offset</a>, <a class="el" href="ross-types_8h_source.html#l00110">tw_statistics::s_net_events</a>, <a class="el" href="ross-types_8h_source.html#l00134">tw_statistics::s_total</a>, <a class="el" href="ross-types_8h_source.html#l00415">tw_pe::stats</a>, <a class="el" href="tw-util_8c_source.html#l00074">tw_error()</a>, and <a class="el" href="ross-extern_8h_source.html#l00164">TW_LOC</a>.</p>

<p>Referenced by <a class="el" href="tw-stats_8c_source.html#l00125">tw_stats()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_abbcd0d5ea79ad57229162f703309142d_cgraph.png" border="0" usemap="#network-mpi_8c_abbcd0d5ea79ad57229162f703309142d_cgraph" alt=""/></div>
<map name="network-mpi_8c_abbcd0d5ea79ad57229162f703309142d_cgraph" id="network-mpi_8c_abbcd0d5ea79ad57229162f703309142d_cgraph">
<area shape="rect" id="node2" href="ross-extern_8h.html#a49ed2388aaae26e43280b7909c834aaa" title="tw_error" alt="" coords="176,5,245,32"/><area shape="rect" id="node3" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="294,5,391,32"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_abbcd0d5ea79ad57229162f703309142d_icgraph.png" border="0" usemap="#network-mpi_8c_abbcd0d5ea79ad57229162f703309142d_icgraph" alt=""/></div>
<map name="network-mpi_8c_abbcd0d5ea79ad57229162f703309142d_icgraph" id="network-mpi_8c_abbcd0d5ea79ad57229162f703309142d_icgraph">
<area shape="rect" id="node2" href="tw-stats_8c.html#a0782b6be50ca83cb7f43782cde7d9ad4" title="tw_stats" alt="" coords="176,107,248,133"/><area shape="rect" id="node3" href="tw-sched_8c.html#ae19668282cb4aab245e2382eea8f1967" title="tw_scheduler_sequential" alt="" coords="304,5,469,32"/><area shape="rect" id="node6" href="tw-sched_8c.html#ab3e02a0e976921bd18a11b8b6a00c110" title="tw_scheduler_conservative" alt="" coords="297,56,477,83"/><area shape="rect" id="node7" href="tw-sched_8c.html#a1ebf9585a3de4d61c5fc050c7600fcd8" title="tw_scheduler_optimistic" alt="" coords="305,107,468,133"/><area shape="rect" id="node8" href="tw-sched_8c.html#accfa49d85bd68f2c53d4a08cf64ace88" title="tw_scheduler_optimistic\l_realtime" alt="" coords="305,158,468,199"/><area shape="rect" id="node9" href="tw-sched_8c.html#ad49988d8dcde406fac7f4a2e11eac17f" title="tw_scheduler_optimistic\l_debug" alt="" coords="305,223,468,265"/><area shape="rect" id="node4" href="tw-setup_8c.html#a6dbc4bba03285bb1b8a8a5464f0375ea" title="tw_run" alt="" coords="525,107,587,133"/><area shape="rect" id="node5" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="635,107,685,133"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a753856a718a9881f642523034260d3f9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tw_net_stop </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Checks to see if custom communicator was used. If not, finalizes MPI. Otherwise, the application is expected to finalize MPI itself. </p>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00154">154</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="network-mpi_8c_source.html#l00005">custom_communicator</a>, <a class="el" href="tw-util_8c_source.html#l00074">tw_error()</a>, and <a class="el" href="ross-extern_8h_source.html#l00164">TW_LOC</a>.</p>

<p>Referenced by <a class="el" href="tw-opts_8c_source.html#l00287">apply_opt()</a>, <a class="el" href="tw-opts_8c_source.html#l00378">match_opt()</a>, <a class="el" href="tw-opts_8c_source.html#l00276">need_argument()</a>, and <a class="el" href="tw-setup_8c_source.html#l00420">tw_end()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a753856a718a9881f642523034260d3f9_cgraph.png" border="0" usemap="#network-mpi_8c_a753856a718a9881f642523034260d3f9_cgraph" alt=""/></div>
<map name="network-mpi_8c_a753856a718a9881f642523034260d3f9_cgraph" id="network-mpi_8c_a753856a718a9881f642523034260d3f9_cgraph">
<area shape="rect" id="node2" href="ross-extern_8h.html#a49ed2388aaae26e43280b7909c834aaa" title="tw_error" alt="" coords="147,5,216,32"/><area shape="rect" id="node3" href="network-mpi_8c.html#a2e139e8547a091c4c4ea0b445fe8dd1c" title="tw_net_abort" alt="" coords="265,5,362,32"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a753856a718a9881f642523034260d3f9_icgraph.png" border="0" usemap="#network-mpi_8c_a753856a718a9881f642523034260d3f9_icgraph" alt=""/></div>
<map name="network-mpi_8c_a753856a718a9881f642523034260d3f9_icgraph" id="network-mpi_8c_a753856a718a9881f642523034260d3f9_icgraph">
<area shape="rect" id="node2" href="tw-opts_8c.html#a255e7c887f702f6b1fb1e98df987d67d" title="apply_opt" alt="" coords="307,25,386,52"/><area shape="rect" id="node3" href="tw-opts_8c.html#a3f91680611ade2426999baee0d9c876c" title="match_opt" alt="" coords="435,76,517,102"/><area shape="rect" id="node7" href="tw-opts_8c.html#a1e0015ee860c22bf7a216494f0b022f1" title="need_argument" alt="" coords="147,25,258,52"/><area shape="rect" id="node8" href="tw-setup_8c.html#acd06dc2372c54c089852984132991b4e" title="tw_end" alt="" coords="315,126,379,153"/><area shape="rect" id="node4" href="tw-opts_8h.html#a899f9ec9822bbe43beedc9ed646aec41" title="tw_opt_parse" alt="" coords="566,76,666,102"/><area shape="rect" id="node5" href="tw-setup_8c.html#a7d395f5590701f5526a161fcb1261b03" title="tw_init" alt="" coords="715,76,775,102"/><area shape="rect" id="node6" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="824,101,875,128"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a2818efb70df48e5e29d3dacb3e2de009"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int tw_nnodes </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Obtain the total number of PEs executing the simulation.</p>
<dl class="section return"><dt>Returns</dt><dd>number of ROSS PEs/MPI world size </dd></dl>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00103">103</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>References <a class="el" href="network-mpi_8c_source.html#l00037">world_size</a>.</p>

<p>Referenced by <a class="el" href="io-mpi_8c_source.html#l00112">io_read_checkpoint()</a>, <a class="el" href="io-mpi_8c_source.html#l00255">io_store_checkpoint()</a>, <a class="el" href="phold_8c_source.html#l00169">main()</a>, <a class="el" href="tw-setup_8c_source.html#l00189">map_round_robin()</a>, <a class="el" href="phold_8c_source.html#l00059">phold_event_handler()</a>, <a class="el" href="phold_8c_source.html#l00039">phold_pre_run()</a>, <a class="el" href="network-mpi_8c_source.html#l00329">recv_finish()</a>, <a class="el" href="tw-setup_8c_source.html#l00448">setup_pes()</a>, <a class="el" href="st-stats-buffer_8c_source.html#l00137">st_buffer_write()</a>, <a class="el" href="ross-kernel-inline_8h_source.html#l00009">tw_getlocal_lp()</a>, <a class="el" href="hash-quadratic_8c_source.html#l00032">tw_hash_create()</a>, <a class="el" href="hash-quadratic_8c_source.html#l00206">tw_hash_remove()</a>, <a class="el" href="network-mpi_8c_source.html#l00109">tw_net_start()</a>, <a class="el" href="tw-sched_8c_source.html#l00404">tw_sched_init()</a>, <a class="el" href="tw-sched_8c_source.html#l00514">tw_scheduler_conservative()</a>, <a class="el" href="tw-sched_8c_source.html#l00634">tw_scheduler_optimistic()</a>, <a class="el" href="tw-sched_8c_source.html#l00733">tw_scheduler_optimistic_debug()</a>, <a class="el" href="tw-sched_8c_source.html#l00680">tw_scheduler_optimistic_realtime()</a>, <a class="el" href="tw-sched_8c_source.html#l00445">tw_scheduler_sequential()</a>, and <a class="el" href="tw-stats_8c_source.html#l00125">tw_stats()</a>.</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="network-mpi_8c_a2818efb70df48e5e29d3dacb3e2de009_icgraph.png" border="0" usemap="#network-mpi_8c_a2818efb70df48e5e29d3dacb3e2de009_icgraph" alt=""/></div>
<map name="network-mpi_8c_a2818efb70df48e5e29d3dacb3e2de009_icgraph" id="network-mpi_8c_a2818efb70df48e5e29d3dacb3e2de009_icgraph">
<area shape="rect" id="node2" href="io_8h.html#ab5386defd555b1a62743c8b8589bf2b2" title="io_read_checkpoint" alt="" coords="141,940,275,966"/><area shape="rect" id="node4" href="tw-sched_8c.html#ae7357a99fcf58867f153cb7ab920b400" title="tw_sched_init" alt="" coords="1298,813,1401,840"/><area shape="rect" id="node6" href="phold_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="1864,342,1915,369"/><area shape="rect" id="node7" href="io_8h.html#ac3ab72128378352882064797a463afba" title="io_store_checkpoint" alt="" coords="139,154,277,181"/><area shape="rect" id="node8" href="tw-setup_8c.html#ab70815e9b532e3d9a85c0a3366477def" title="map_round_robin" alt="" coords="918,53,1039,80"/><area shape="rect" id="node10" href="phold_8c.html#a85ba7c43c159225d369a4edc07c91fa3" title="phold_event_handler" alt="" coords="527,661,668,688"/><area shape="rect" id="node11" href="phold_8c.html#a097328e25aacfc8361de4bcd3ef77a18" title="phold_pre_run" alt="" coords="546,712,649,738"/><area shape="rect" id="node12" href="network-mpi_8c.html#a149ffcda6e9840d885bfe970374a9f49" title="Determines how to handle the newly received event. " alt="" coords="353,509,439,536"/><area shape="rect" id="node18" href="tw-sched_8c.html#ad49988d8dcde406fac7f4a2e11eac17f" title="tw_scheduler_optimistic\l_debug" alt="" coords="1492,580,1655,622"/><area shape="rect" id="node21" href="tw-sched_8c.html#a1ebf9585a3de4d61c5fc050c7600fcd8" title="tw_scheduler_optimistic" alt="" coords="1492,474,1655,501"/><area shape="rect" id="node23" href="tw-sched_8c.html#accfa49d85bd68f2c53d4a08cf64ace88" title="tw_scheduler_optimistic\l_realtime" alt="" coords="1492,408,1655,450"/><area shape="rect" id="node26" href="tw-sched_8c.html#ab3e02a0e976921bd18a11b8b6a00c110" title="tw_scheduler_conservative" alt="" coords="1483,306,1663,333"/><area shape="rect" id="node27" href="tw-setup_8c.html#a33b10808894f8c4d429e391810d96e08" title="setup_pes" alt="" coords="937,1117,1020,1144"/><area shape="rect" id="node28" href="st-stats-buffer_8c.html#aeeea74d1470f40aea408a03c56597f13" title="st_buffer_write" alt="" coords="925,306,1033,333"/><area shape="rect" id="node32" href="ross-kernel-inline_8h.html#a3e5591d29e9db9c6a1a1cc19ed55feec" title="tw_getlocal_lp" alt="" coords="155,813,261,840"/><area shape="rect" id="node41" href="hash-quadratic_8h.html#aebe8a594c0fe5a367f194e7ba7e1aa80" title="tw_hash_create" alt="" coords="151,1168,265,1194"/><area shape="rect" id="node43" href="network-mpi_8h.html#a625a50a6a03701b067693d7dc5ed483b" title="Starts the network library after option parsing. " alt="" coords="550,1168,645,1194"/><area shape="rect" id="node45" href="hash-quadratic_8h.html#af2da87c210aeb3433d50ee3bcb139e20" title="tw_hash_remove" alt="" coords="147,458,269,485"/><area shape="rect" id="node49" href="tw-sched_8c.html#ae19668282cb4aab245e2382eea8f1967" title="tw_scheduler_sequential" alt="" coords="1491,357,1656,384"/><area shape="rect" id="node50" href="tw-stats_8c.html#a0782b6be50ca83cb7f43782cde7d9ad4" title="tw_stats" alt="" coords="1313,408,1385,434"/><area shape="rect" id="node3" href="tw-lp_8c.html#ac66e6455900b508bb4e4e0cef4df8061" title="tw_init_lps" alt="" coords="937,977,1021,1004"/><area shape="rect" id="node5" href="tw-setup_8c.html#a6dbc4bba03285bb1b8a8a5464f0375ea" title="tw_run" alt="" coords="1733,445,1795,472"/><area shape="rect" id="node9" href="tw-setup_8c.html#ae29dd6eba29314361ef334f6bf028210" title="tw_define_lps" alt="" coords="1713,238,1815,265"/><area shape="rect" id="node13" href="network-mpi_8c.html#a8705ab243733bb856d58534e0e853da3" title="Start checks for finished operations in send/recv queues, and post new sends/recvs if possible..." alt="" coords="541,509,654,536"/><area shape="rect" id="node14" href="network-mpi_8h.html#a0f32f17f307a059cd2464da4039729fb" title="Cancel the given remote event by either removing from the outq or sending an antimessage, depending on the status of the original positive send. " alt="" coords="745,534,852,561"/><area shape="rect" id="node24" href="network-mpi_8h.html#a29c8b71c5bbcfa0c7a30fc31769be05e" title="starts service_queues() to poll network " alt="" coords="1105,472,1199,498"/><area shape="rect" id="node15" href="tw-event_8c.html#ace65c26a8d368f9b222d3d4416bff0af" title="event_cancel" alt="" coords="929,534,1028,561"/><area shape="rect" id="node16" href="tw-event_8c.html#ad90c1310a5aeee6d9bff67237f3e9913" title="tw_event_rollback" alt="" coords="1089,546,1215,573"/><area shape="rect" id="node17" href="tw-kp_8c.html#a5b88c07fbc4f7810bdc676306013b513" title="tw_kp_rollback_to" alt="" coords="1286,712,1413,738"/><area shape="rect" id="node19" href="tw-kp_8c.html#a64819ac4aba17987e01bb13142e78c86" title="tw_kp_rollback_event" alt="" coords="1275,661,1423,688"/><area shape="rect" id="node20" href="tw-sched_8c.html#ad27b3474d878cedfe1a1f993093d8715" title="tw_sched_batch" alt="" coords="1291,610,1408,637"/><area shape="rect" id="node22" href="tw-sched_8c.html#a1586b72acaa34a4ef8cc6aadabe9711e" title="tw_sched_batch_realtime" alt="" coords="1264,560,1435,586"/><area shape="rect" id="node25" href="ross-gvt_8h.html#a0d905b32b2567dd637c4926872622a70" title="tw_gvt_step2" alt="" coords="1299,357,1399,384"/><area shape="rect" id="node29" href="st-stats-buffer_8c.html#af1693cc16ddc2e345ece670ed34a81f8" title="st_buffer_finalize" alt="" coords="1091,256,1213,282"/><area shape="rect" id="node31" href="st-instrumentation_8h.html#a5d4676b079764929c184583f36cf29e4" title="st_inst_dump" alt="" coords="1102,306,1202,333"/><area shape="rect" id="node30" href="st-instrumentation_8h.html#a1dad744b7748e0ae7eee6b11577e744b" title="st_inst_finalize" alt="" coords="1295,306,1404,333"/><area shape="rect" id="node33" href="analysis-lp_8h.html#ac43c559cd392cfd316e776c70b65c542" title="analysis_init" alt="" coords="751,876,846,902"/><area shape="rect" id="node34" href="analysis-lp_8h.html#ad74eeee6fcd09d61e982a87d59473a61" title="analysis_event" alt="" coords="744,940,853,966"/><area shape="rect" id="node35" href="analysis-lp_8h.html#a37b28475849748f0a7b6429a56dc4478" title="analysis_event_rc" alt="" coords="333,864,459,890"/><area shape="rect" id="node36" href="analysis-lp_8h.html#a2c7b0d1be345dd9f6fc505cccda45958" title="analysis_commit" alt="" coords="336,914,456,941"/><area shape="rect" id="node37" href="tw-event_8c.html#ad057802273cd99b0e039da1ba15080ac" title="tw_event_send" alt="" coords="341,762,451,789"/><area shape="rect" id="node38" href="analysis-lp_8c.html#a59aaa23fb40396f2b16d7a7fc2d25367" title="st_create_sample_event" alt="" coords="515,914,679,941"/><area shape="rect" id="node39" href="io_8h.html#a2c72f26ee424fa3597838fd69de45cdb" title="io_load_events" alt="" coords="744,813,853,840"/><area shape="rect" id="node40" href="phold_8c.html#a721365de85f51a68a49f3af69f411e10" title="phold_init" alt="" coords="559,762,636,789"/><area shape="rect" id="node42" href="tw-pe_8c.html#a2a0e6607074d85f80badcf5f5da3547e" title="tw_pe_init" alt="" coords="355,1168,437,1194"/><area shape="rect" id="node44" href="tw-setup_8c.html#a7d395f5590701f5526a161fcb1261b03" title="tw_init" alt="" coords="1734,817,1794,844"/><area shape="rect" id="node46" href="tw-eventq_8h.html#abcb2f5e59834cc2566395b4732cb2f32" title="tw_eventq_push_list" alt="" coords="325,458,467,485"/><area shape="rect" id="node47" href="tw-eventq_8h.html#a8cee9de44c05a95ae003767f7299d9c4" title="tw_eventq_fossil_collect" alt="" coords="515,458,680,485"/><area shape="rect" id="node48" href="tw-pe_8c.html#a36f9f2e3925202eae4c7cb42f913280c" title="tw_pe_fossil_collect" alt="" coords="729,357,869,384"/></map>
</div>
</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="a29575d90e2b406bc91b03b3853c77dc1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int custom_communicator = 0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00005">5</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00059">tw_comm_set()</a>, and <a class="el" href="network-mpi_8c_source.html#l00154">tw_net_stop()</a>.</p>

</div>
</div>
<a class="anchor" id="af1faeba2bc478835b35af43287f19ba7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MPI_Comm MPI_COMM_ROSS = MPI_COMM_WORLD</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00004">4</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00284">recv_begin()</a>, <a class="el" href="network-mpi_8c_source.html#l00440">send_begin()</a>, <a class="el" href="specialized-lps_8c_source.html#l00018">specialized_lp_setup()</a>, <a class="el" href="st-stats-buffer_8c_source.html#l00016">st_buffer_allocate()</a>, <a class="el" href="st-stats-buffer_8c_source.html#l00062">st_buffer_init()</a>, <a class="el" href="st-stats-buffer_8c_source.html#l00137">st_buffer_write()</a>, <a class="el" href="network-mpi_8c_source.html#l00059">tw_comm_set()</a>, <a class="el" href="mpi__allreduce_8c_source.html#l00102">tw_gvt_step2()</a>, <a class="el" href="network-mpi_8c_source.html#l00147">tw_net_abort()</a>, <a class="el" href="network-mpi_8c_source.html#l00175">tw_net_barrier()</a>, <a class="el" href="network-mpi_8c_source.html#l00066">tw_net_init()</a>, <a class="el" href="network-mpi_8c_source.html#l00109">tw_net_start()</a>, and <a class="el" href="network-mpi_8c_source.html#l00656">tw_net_statistics()</a>.</p>

</div>
</div>
<a class="anchor" id="ac65f4401b7c7a792dc3fdbcae30a2c1c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structtw__optdef.html">tw_optdef</a> mpi_opts[]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line">  <a class="code" href="tw-opts_8h.html#a0e45b7a88a51dca3fe99d31aae9636c4">TWOPT_GROUP</a>(<span class="stringliteral">&quot;ROSS MPI Kernel&quot;</span>),</div>
<div class="line">  <a class="code" href="tw-opts_8h.html#a0d00417e3bef0d001f256f846c72838d">TWOPT_UINT</a>(</div>
<div class="line">             <span class="stringliteral">&quot;read-buffer&quot;</span>,</div>
<div class="line">             <a class="code" href="network-mpi_8c.html#a7ecd52e7fd90bbbcee7bd64df018073f">read_buffer</a>,</div>
<div class="line">             <span class="stringliteral">&quot;network read buffer size in # of events&quot;</span>),</div>
<div class="line">  <a class="code" href="tw-opts_8h.html#a0d00417e3bef0d001f256f846c72838d">TWOPT_UINT</a>(</div>
<div class="line">             <span class="stringliteral">&quot;send-buffer&quot;</span>,</div>
<div class="line">             <a class="code" href="network-mpi_8c.html#aaf9f9bebe685a2f4933a4d9d0a164f65">send_buffer</a>,</div>
<div class="line">             <span class="stringliteral">&quot;network send buffer size in # of events&quot;</span>),</div>
<div class="line"></div>
<div class="line">}</div>
<div class="ttc" id="network-mpi_8c_html_aaf9f9bebe685a2f4933a4d9d0a164f65"><div class="ttname"><a href="network-mpi_8c.html#aaf9f9bebe685a2f4933a4d9d0a164f65">send_buffer</a></div><div class="ttdeci">static unsigned int send_buffer</div><div class="ttdef"><b>Definition:</b> <a href="network-mpi_8c_source.html#l00036">network-mpi.c:36</a></div></div>
<div class="ttc" id="network-mpi_8c_html_a7ecd52e7fd90bbbcee7bd64df018073f"><div class="ttname"><a href="network-mpi_8c.html#a7ecd52e7fd90bbbcee7bd64df018073f">read_buffer</a></div><div class="ttdeci">static unsigned int read_buffer</div><div class="ttdef"><b>Definition:</b> <a href="network-mpi_8c_source.html#l00035">network-mpi.c:35</a></div></div>
<div class="ttc" id="tw-opts_8h_html_a0d00417e3bef0d001f256f846c72838d"><div class="ttname"><a href="tw-opts_8h.html#a0d00417e3bef0d001f256f846c72838d">TWOPT_UINT</a></div><div class="ttdeci">#define TWOPT_UINT(n, v, h)</div><div class="ttdef"><b>Definition:</b> <a href="tw-opts_8h_source.html#l00030">tw-opts.h:30</a></div></div>
<div class="ttc" id="tw-opts_8h_html_a0e45b7a88a51dca3fe99d31aae9636c4"><div class="ttname"><a href="tw-opts_8h.html#a0e45b7a88a51dca3fe99d31aae9636c4">TWOPT_GROUP</a></div><div class="ttdeci">#define TWOPT_GROUP(h)</div><div class="ttdef"><b>Definition:</b> <a href="tw-opts_8h_source.html#l00027">tw-opts.h:27</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00039">39</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00066">tw_net_init()</a>.</p>

</div>
</div>
<a class="anchor" id="aa5267efaec2ae6f7ecae78419aa0685e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structtw__eventq.html">tw_eventq</a> outq</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00033">33</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

</div>
</div>
<a class="anchor" id="a2401516883d34c1eb1a22de94da94724"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structact__q.html">act_q</a> posted_recvs</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00032">32</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00284">recv_begin()</a>, <a class="el" href="network-mpi_8c_source.html#l00554">service_queues()</a>, and <a class="el" href="network-mpi_8c_source.html#l00109">tw_net_start()</a>.</p>

</div>
</div>
<a class="anchor" id="a890bf6aa5e4a2592e7980b7109ff94fc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structact__q.html">act_q</a> posted_sends</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00031">31</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00440">send_begin()</a>, <a class="el" href="network-mpi_8c_source.html#l00554">service_queues()</a>, <a class="el" href="network-mpi_8c_source.html#l00182">tw_net_minimum()</a>, <a class="el" href="network-mpi_8c_source.html#l00578">tw_net_send()</a>, and <a class="el" href="network-mpi_8c_source.html#l00109">tw_net_start()</a>.</p>

</div>
</div>
<a class="anchor" id="a7ecd52e7fd90bbbcee7bd64df018073f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int read_buffer = 16</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Number of Irecv's to buffer, length of posted_recvs queue </p>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00035">35</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00284">recv_begin()</a>, and <a class="el" href="network-mpi_8c_source.html#l00109">tw_net_start()</a>.</p>

</div>
</div>
<a class="anchor" id="aaf9f9bebe685a2f4933a4d9d0a164f65"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int send_buffer = 1024</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Number of Isend's to buffer, length of posted_sends queue </p>

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00036">36</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00440">send_begin()</a>, and <a class="el" href="network-mpi_8c_source.html#l00109">tw_net_start()</a>.</p>

</div>
</div>
<a class="anchor" id="ab8411355a7d80016be6edcce3437b978"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int world_size = 1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="network-mpi_8c_source.html#l00037">37</a> of file <a class="el" href="network-mpi_8c_source.html">network-mpi.c</a>.</p>

<p>Referenced by <a class="el" href="network-mpi_8c_source.html#l00109">tw_net_start()</a>, and <a class="el" href="network-mpi_8c_source.html#l00103">tw_nnodes()</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>
